不能提交类似“<”等特殊符号的解决
2006-06-16 14:45
225 查看
错误信息:
A potentially dangerous Request.Form value was detected from the client
原因是系统认为那是危险的数据(例如可能有非法用户在注入),在每个文件头上加上:
<%@Page Language = "C#" validateRequest="false"%>
或者在虚拟目录的web.config文件里修改 validateRequest 属性为false就可以提交那些符号了,不过你就要严格检查提交的数据,以防止出现漏洞被人攻击。
下面是从网上找到的信息。
在 ASP.NET 1.1 中,@Page 指令上的 ValidateRequest 属性被打开后,将检查以确定用户没有在查询字符串、Cookie 或表单域中发送有潜在危险性的 HTML 标记。如果检测到这种情况,将引发异常并中止该请求。该属性默认情况下是打开的;您无需进行任何操作就可以得到保护。如果您想允许 HTML 标记通过,必须主动禁用该属性。
<%@ Page ValidateRequest="false" %>
ValidateRequest不是 万能的药方,无法替代有效的验证层。
没有任何关闭 ValidateRequest 的理由。您可以禁用它,但必须有非常好的理由;其中一条这样的理由可能是用户需要能够将某些 HTML 张贴到站点,以便得到更好的格式设置选项。这种情况下,您应当限制所允许的 HTML 标记(<pre>、<b>、<i>、<p>、<br>、<hr>)的数目,并编写一个正则表达式,以确保不会允许或接受任何其他内容。
以下是一些有助于防止 ASP.NET 遭受 XSS 攻击的其他提示:
总之,使用但是不要完全信任 ValidateRequest 属性,不要太过懒惰。花些时间,从根本上理解 XSS 这样的安全威胁,并规划以一个关键点为中心的防御策略:所有的用户输入都是危险的。
A potentially dangerous Request.Form value was detected from the client
原因是系统认为那是危险的数据(例如可能有非法用户在注入),在每个文件头上加上:
<%@Page Language = "C#" validateRequest="false"%>
或者在虚拟目录的web.config文件里修改 validateRequest 属性为false就可以提交那些符号了,不过你就要严格检查提交的数据,以防止出现漏洞被人攻击。
下面是从网上找到的信息。
在 ASP.NET 1.1 中,@Page 指令上的 ValidateRequest 属性被打开后,将检查以确定用户没有在查询字符串、Cookie 或表单域中发送有潜在危险性的 HTML 标记。如果检测到这种情况,将引发异常并中止该请求。该属性默认情况下是打开的;您无需进行任何操作就可以得到保护。如果您想允许 HTML 标记通过,必须主动禁用该属性。
<%@ Page ValidateRequest="false" %>
ValidateRequest不是 万能的药方,无法替代有效的验证层。
没有任何关闭 ValidateRequest 的理由。您可以禁用它,但必须有非常好的理由;其中一条这样的理由可能是用户需要能够将某些 HTML 张贴到站点,以便得到更好的格式设置选项。这种情况下,您应当限制所允许的 HTML 标记(<pre>、<b>、<i>、<p>、<br>、<hr>)的数目,并编写一个正则表达式,以确保不会允许或接受任何其他内容。
以下是一些有助于防止 ASP.NET 遭受 XSS 攻击的其他提示:
• | 使用 HttpUtility.HtmlEncode 将危险的符号转换为它们的 HTML 表示形式。 |
• | 使用双引号而不是单引号,这是因为 HTML 编码仅转义双引号。 |
• | 强制一个代码页以限制可以使用的字符数。 |
相关文章推荐
- 解决常见特殊符号 & ,<, >等在xml文件中显示报错的问题
- Word中插入特殊符号不能显示”的解决办法
- Xcode中SVN不能提交.a文件的解决方法
- 使用fckeditor 出现文字多不能提交的现象的解决方法。
- 解决 spring mvc 3.+ 结合 hibernate3.+ 使用<tx:annotation-driven>声明式事务无法提交的问题
- js的form表单提交url传参数(包含+等特殊字符)的解决方法
- java远程共享文件访问jcifs解决密码中特殊符号问题
- paip.svn不能提交CLEARUP不起作用解决方法
- iOS 关于应用能打包但是不能提交至App Store的解决办法
- ADT(Android Developer Tools) GIT功能不全,远程提交的时候账户密码不能保存账户和密码解决方式
- 解决struts中<html:form>提交中文时乱码问题
- 解决微信登录时昵称中包含特殊字符,不能存入数据库问题
- 用JavaScript实现全局替换,解决$等特殊符号的难题
- Flex+Java组合解决汉字或特殊符号(如&等)文件下载时的文件名乱码问题
- python3下使用map()函数返回<map object at 0x00000000038327F0>导致不能直接使用的解决办法
- 关于word插入特殊符号不显示的问题及解决
- PHP在kindeditor编辑器下内容不能提交的问题的解决方法
- 解决 CefSharp WPF控件不能使用输入法输入中文的问题(代码已提交到 github)
- svn 不能提交.a文件问题的解决方法
- 使用了<input type="submit" value="Submit" onclick="this.disabled=true" />不能提交