我正在测试一个Web应用程序,它是一个出勤提交页面。其功能是,如果两个用户碰巧更新同一学生的出勤率,我们将显示最新更改的更改警告。
为此,开发人员已经实现了一些逻辑,例如他们将保存在文本框中输入但尚未保存在视图状态中的值,他们将比较视图状态,当前数据和数据库数据的值并显示最新更改。
作为测试的一部分,我仍然想知道是否存在,以便我可以修改/修改开发人员在视图状态下存储的数据。
最佳答案
您无法使用javascript来执行此操作。您可以通过JavaScript访问“ __ViewState”隐藏字段,但所有字段均已加密。您只能看到加密的值。
即使您通过javascript进行更改,服务器端也会检查数据是否被篡改。
您可以使用以下代码解密并查看viewstate。为此,必须将ViewState设置为未加密More Info
string str = System.Text.Encoding.ASCII.GetString(Convert.FromBase64String(txtViewState.Text));
但是篡改viewstate的可能性不大,因为ASP.NET中默认情况下
EnableViewStateMac
属性是true
More Info
关于security - 如何在Web应用程序中操作 View 状态数据?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43863713/