从客户端中检测到有潜在风险的Request.Form值的处理方法

 一些用户在运用ASP.NET作为网站开发言语时,会呈现这样一个问题。用户提交表单宣布内容时,页面提示:应用程序中的服务器过错,从客户端(某某代码)中检测到有潜在风险的Request.Form值。 原...

 一些用户在运用ASP.NET作为网站开发言语时,会呈现这样一个问题。用户提交表单宣布内容时,页面提示:应用程序中的服务器过错,从客户端(某某代码)中检测到有潜在风险的Request.Form值。

原因剖析

呈现这种过错的原因是微软.NET结构中的Request Validation(恳求验证)在起作用。恳求验证是ASP.NET的一个很有用的功用,能够自动检测网页文件中是否含有歹意脚本。一般屏蔽的是HTML代码,如<>或Javascript脚本,由于这些脚本会被黑客使用,植入到您的网页中,然后影响今后的拜访者。这种进犯行为也被称为XSS(cross site scripting),即跨站脚本进犯。

怎么处理

由于朝暮数据的悉数服务器都选用ASP.NET 4.5结构,如果您的网站是根据.NET2.0/3.5开发的,或许就会碰到这个问题。您能够挑选整站禁用恳求验证功用,或许只挑选部分页面禁用。

1、在根目录下的web.config文件中,增加如下代码:

<system.web>
  <httpRuntime requestValidationMode="2.0" />
</system.web>

2、如果您期望整站禁用,再进一步增加:

<system.web>
  <pages validateRequest="false" />
</system.web>

3、恳求验证功用是为了避免黑客脚本进犯,因而不引荐整站禁用。如果您仅仅部分页面有增加HTML的需求,也能够只禁用这些页面。咱们在这些页面的头部增加:

<@ Page validateRequest="false" %>

安全提示

如果您禁用了恳求验证功用,请一定要人工验证用户的输入是否含有歹意脚本。除非您只禁用了部分页面,并且这些页面坐落后台,只能管理员拜访,黑客无法拜访到。

一个简略的人工验证方法是选用在线编辑器,如百度的UEditor,CKEditor等,这些编辑器自身就能阻挠不合法脚本,只允许安全的HTML或Javascript。

  • 发表于 2021-04-15 17:39
  • 阅读 ( 198 )
  • 分类:互联网

0 条评论

请先 登录 后评论
李晨w
李晨w

690 篇文章

你可能感兴趣的文章

相关问题