作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在测试一个 Web 应用程序,它是一个出席提交页面。功能是,如果两个用户碰巧更新了相同的学生出勤率,我们将显示最新更改的更改警告。
为此,开发人员已经实现了一些逻辑,比如他们将保存我们在文本框中输入的值,而这些值尚未保存在 View 状态中。他们将比较 View 状态、当前数据和数据库数据的值,并显示最新的更改.
作为测试的一部分,我想知道是否存在,以便我可以修改/破解开发人员存储在 View 状态中的数据。
最佳答案
您不能使用 javascript 执行此操作,您可以通过 JavaScript 访问隐藏字段“__ViewState”,但它已全部加密。您只能看到加密后的值。
即使您通过javascript更改它,服务器端也会检查数据是否被篡改。
您可以使用以下代码解密和查看 View 状态。为此,必须将 ViewState 设置为未加密 More Info
string str = System.Text.Encoding.ASCII.GetString(Convert.FromBase64String(txtViewState.Text));
但由于 EnableViewStateMac
属性在 ASP.NET 中默认为 true
,因此篡改 View 状态不太可能 More Info
关于security - 如何在 Web 应用程序中操作 View 状态数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43863713/
我是一名优秀的程序员,十分优秀!