Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.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# 为什么不是';t ValidateRequest=";“真的”;足够预防XSS吗?_C#_.net_Asp.net_Xss - Fatal编程技术网

C# 为什么不是';t ValidateRequest=";“真的”;足够预防XSS吗?

C# 为什么不是';t ValidateRequest=";“真的”;足够预防XSS吗?,c#,.net,asp.net,xss,C#,.net,Asp.net,Xss,中步骤1的注释中指出,您不应“依赖ASP.NET请求验证。除了您自己的输入验证外,还应将其视为额外的预防措施。” 为什么还不够?首先,黑客们总是会想出新的攻击和插入XS的新方法。ASP.NET的RequestValidation仅在新版本的ASP.NET发布时更新,因此,如果有人在ASP.NET发布的第二天提出新的攻击,RequestValidation将无法捕获它 这(我相信)是项目出现的原因之一,因此它可以有一个更快的发布周期。只有两个提示: 应用程序可能不仅输出使用ASP.NET表单输入

中步骤1的注释中指出,您不应“依赖ASP.NET请求验证。除了您自己的输入验证外,还应将其视为额外的预防措施。”


为什么还不够?

首先,黑客们总是会想出新的攻击和插入XS的新方法。ASP.NET的RequestValidation仅在新版本的ASP.NET发布时更新,因此,如果有人在ASP.NET发布的第二天提出新的攻击,RequestValidation将无法捕获它

这(我相信)是项目出现的原因之一,因此它可以有一个更快的发布周期。

只有两个提示:

  • 应用程序可能不仅输出使用ASP.NET表单输入的数据。想想web服务、RSS提要、其他数据库、从用户上传中提取的信息等等

  • 有时有必要禁用默认(有效但过于简单)请求验证,因为您需要在表单中接受尖括号。想想所见即所得编辑器