从客户端中检测到有潜在危险的 Request.Form 值
来源:互联网 发布:jsp与javascript 知乎 编辑:程序博客网 时间:2024/05/21 14:59
当提交的表单存在html标签时会报“从客户端中检测到有潜在危险的 Request.Form 值”错,解决办法有几种
1、web.config文档<system.web>后面加入这一句: <pages validaterequest="false"/>
示例:
<?xml version="1.0" encoding="gb2312" ?>
<configuration>
<system.web>
<pages validaterequest="false"/>
</system.web>
</configuration>
2、在*.aspx文档头的page中加入validaterequest="false",示例如下:
<%@ page validaterequest="false" language="c#" codebehind="index.aspx.cs" autoeventwireup="false" inherits="mybbs.webform1" %>
这两种做法都能达到,不报错的目的,但是,不是最有效的解决办法,因为这两种做法都是,禁掉了微软为我们提供的一个xss(夸站脚本攻击)验证,当用户试图用<br/>之类的提交内容,影响返回结果时,asp.net引擎会引发一个HttpRequestValidationExceptioin。这是一个很重要的特性最好不要禁止 而是用友好的方法给用户一个提示
3、protected void Page_Error(object sender, EventArgs e)
{
Exception ex = Server.GetLastError();
if (HttpContext.Current.Server.GetLastError() is HttpRequestValidationException)
{
HttpContext.Current.Response.Write("请输入合法的字符串【<a href=\"javascript:history.back(0);\">返回</a>】");
HttpContext.Current.Server.ClearError();
}
}
这样就会直接给用户一个提示,而不是直接禁掉。
关于提交html标签,我们可以对它进行编码,选择性的允许一些标签,禁止一些标签
void submitBtn_Click(object sender, EventArgs e)
{
//将输入字符串编码,这样所有的HTML标签都失效了。
StringBuilder sb =new StringBuilder(HttpUtility.HtmlEncode(htmlInputTxt.Text));
//然后我们选择性的允许<b> 和 <i>
sb.Replace("<b>","<b>");
sb.Replace("</b>","</b>");
sb.Replace("<i>","<i>");
sb.Replace("</i>","</i>");
Response.Write(sb.ToString());
}
其中要慎重允许一下标签
<applet>
<body>
<embed>
<frame>
<script>
<frameset>
<html>
<iframe>
<img>
<style>
<layer>
<link>
<ilayer>
<meta>
<object>
这些标签最有可能引起夸站脚本攻击
其中<img> 要慎重<img src="javascript:alert("hello")">
- 关闭安全检测,从客户端中检测到有潜在危险的Request.Form 值
- 异常“从客户端...中检测到有潜在危险的Request.Form 值”的解决方法
- 从客户端(...)中检测到有潜在危险的Request.Form 值的处理办法
- 关于从客户端中检测到有潜在危险的 Request.Form 值的最优解决方案
- “从客户端......中检测到有潜在危险的 Request.Form 值”的解决方法
- 从客户端(...)中检测到有潜在危险的Request.Form 值的处理办法
- 从客户端中检测到有潜在危险的 Request.Form 值的解决方法
- 从客户端(...)中检测到有潜在危险的Request.Form 值的处理办法
- 从客户端中检测到有潜在危险的Request.Form值的详细解决方案
- 从客户端(...)中检测到有潜在危险的Request.Form 值的处理办法
- 从客户端(...)中检测到有潜在危险的Request.Form 值的处理办法
- 从客户端中检测到有潜在危险的 Request.Form 值的详细解决方法
- 从客户端(...)中检测到有潜在危险的Request.Form 值的处理办法
- 从客户端中检测到有潜在危险的 Request.Form 值的详细解决方法
- 从客户端(...)中检测到有潜在危险的Request.Form 值的处理办法
- .NET MVC从客户端中检测到有潜在危险的 Request.Form 值 的解决方法
- 从客户端中检测到有潜在危险的 Request.Form 值的详细解决方法
- MVC:从客户端中检测到有潜在危险的 Request.Form 值 的解决方法
- Android模拟器慢的解决方案汇总
- hdu 1287
- STL概述
- 回调函数在Android监听机制中的体现
- 连锁酒店行业相关知识
- 从客户端中检测到有潜在危险的 Request.Form 值
- 不同系统中回车符‘/r’和换行符'/n'的区别
- mvc架构理解
- Ubuntu Grub 默认启动顺序修改
- C#从剪贴板中取数据,发送数据到剪贴板
- tar 解压缩命令
- 那些年,我们一起追过的VC++ 6.0/MFC
- AT91SAM926x开发全流程
- 我自己都不知道怎么写出来的了 太可怕了 js