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

Request时出现有HTML或Javascript等字符串时,系统会认为是危险性值。立马报出“从客户端 中检测到有潜在危险的Request.Form值”这样的错,
以下是解决方案。


(1) 在aspx页面
解决方案一:    在.aspx文件头中加入这句:    <%@ Page validateRequest="false" %>
 
eg:<%@ Page Language="C#" AutoEventWireup="false" ValidateRequest="false" CodeFile="你的页面.vb" Inherits="你的页面" %>
 解决方案二:   
修改web.config文件:         
       <configuration>               
<system.web>               
<pages validateRequest="false" />               
</system.web>               
</configuration>              
  因为validateRequest默认值为true。只要设为false即可。



(2)在MVC中使用

原因和解决方法:
1. 原因:是因为对某个控件赋Text值时,字符串里包含危险字符,如"<","\",">","&","\r\n"等字符。
2. 解决方法:

(1)如果是我们确实需要加入这些字符,比如我想生成的字符串加载到TextBox时,有缩进,换行就需要"\r\n\t"。解决方法是在需要的那个页面<@ Page />标签里加“validateRequest="false"”,意思是不对回传数据进行验证,因为不安全,建议只写在页面,不要写在web.config中。

如果项目是framework2.0的话,应该就好了,如果是framework4.0,就需要在web.config,<system.web>节点下加<httpRuntime requestValidationMode="2.0" />就可以了。
(2)如果不是自己需要的,可以使用Server.HtmlEncode(string)方法,对字符串进行编码,这样就会将危险字符转义为普通的字符。如TextBox1.Text=Server.HtmlEncode(teststring);


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值