Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 防篡改ASP.NET视图状态_C#_Asp.net_Vb.net_Iis - Fatal编程技术网

C# 防篡改ASP.NET视图状态

C# 防篡改ASP.NET视图状态,c#,asp.net,vb.net,iis,C#,Asp.net,Vb.net,Iis,我的团队目前在现有项目中使用ASP.NET webforms。 有些功能将值存储在viewstate中,我不介意这些值是base64可解码的,但我不希望它们被篡改。我添加了这段代码,但键值不同。;) 这是否会阻止viewstate被篡改。我的理解是SHA1散列一些东西,然后检查它是否被篡改,然后才接受它为合法 我还认为,在IIS版本中,这很容易受到填充oracle攻击。安装修补程序是否足够?启用ViewStateMAC,您的ViewState将被安全签名,使网站访问者无法在返回ViewSta

我的团队目前在现有项目中使用ASP.NET webforms。 有些功能将值存储在viewstate中,我不介意这些值是base64可解码的,但我不希望它们被篡改。我添加了这段代码,但键值不同。;)


这是否会阻止viewstate被篡改。我的理解是SHA1散列一些东西,然后检查它是否被篡改,然后才接受它为合法


我还认为,在IIS版本中,这很容易受到填充oracle攻击。安装修补程序是否足够?

启用ViewStateMAC,您的ViewState将被安全签名,使网站访问者无法在返回ViewState之前修改它。默认情况下是否启用此功能?或者我必须在web.config中设置它。这还会对性能造成影响吗?一个很好的经验法则是,任何时候数据通过网络服务器或公司网络之外的线路传输,都可以由用户检索和操作。即使数据是加密的。因此,如果你真的想保护数据,那么首先不要将其发送给客户端。那么如何防止viewstate被客户端看到呢;这就足够了
<machineKey
    validationKey="DD913F8422F51CD25A5A94056B66BF314E51362F2AE67197FCD471A2745AA81AD6CDFB035065DA8906B86572635C0C77876C3694ECA39D99858D489CE6BDB35B"
    decryptionKey="1D80D6A0931A788BCDCB6E5EE9450C53436C02FED7675A0EE922801CDEF808FE"
    validation="SHA1"
    decryption="AES"
    />