我正在测试一个Web应用程序,它是一个出勤提交页面。其功能是,如果两个用户碰巧更新同一学生的出勤率,我们将显示最新更改的更改警告。

为此,开发人员已经实现了一些逻辑,例如他们将保存在文本框中输入但尚未保存在视图状态中的值,他们将比较视图状态,当前数据和数据库数据的值并显示最新更改。

作为测试的一部分,我仍然想知道是否存在,以便我可以修改/修改开发人员在视图状态下存储的数据。

最佳答案

您无法使用javascript来执行此操作。您可以通过JavaScript访问“ __ViewState”隐藏字段,但所有字段均已加密。您只能看到加密的值。

即使您通过javascript进行更改,服务器端也会检查数据是否被篡改。

您可以使用以下代码解密并查看viewstate。为此,必须将ViewState设置为未加密More Info

string str = System.Text.Encoding.ASCII.GetString(Convert.FromBase64Strin‌​g(txtViewState.Text)‌​);


但是篡改viewstate的可能性不大,因为ASP.NET中默认情况下EnableViewStateMac属性是true
More Info

关于security - 如何在Web应用程序中操作 View 状态数据?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43863713/

10-10 01:06
查看更多