首页
社区
课程
招聘
从客户端中检测到有潜在危险的Request.Form值的处理办法
发表于: 2015-6-26 08:28 2002

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

2015-6-26 08:28
2002
新闻链接:930K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6e0u0U0N6r3!0Q4x3X3g2U0L8$3#2Q4x3V1k6m8M7Y4c8A6j5$3I4W2i4K6u0r3x3U0l9I4y4e0l9$3i4K6u0r3y4o6l9&6y4U0l9%4i4K6u0W2K9s2c8E0L8l9`.`.
新闻时间:2015-06-20
新闻正文:
一些用户在使用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" %>
安全提示

<@ Page validateRequest="false" %>
如果您禁用了请求验证功能,请一定要人工验证用户的输入是否含有恶意脚本。除非您只禁用了部分页面,而且这些页面位于后台,只能管理员访问,黑客无法访问到。

一个简单的人工验证办法是采用在线编辑器,如百度的UEditor,CKEditor等,这些编辑器本身就能阻止非法脚本,只允许安全的HTML或Javascript。

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回