客户端输入非法字符的问题
出现的问题:
自己在写一个简单的留言板,同时也是在学习,中间遇到了很多问题。
在客户端文本框输入诸如“<h1>Hello</h2>”,“<script>alert('Hello')</script>”,或者单引号都会出现下面提示“...中检测到有潜在危险的Request.Form 值”,我增加了字符过滤
我先用HtmlEncod编码字符串 既:string str=str.Server.HtmlEncod(str); 问题依旧不能解决,我又写了个类用来过滤字符
其中过滤 z=z.Lower();z=z.replace("'","""); z=z.replace("<","*");问题依然不能解决,
从客户端(ctl00$ContentPlaceHolder1 $TextBoxContent="<script>alert('ok')<...")中检测到有潜在危险的 Request.Form 值。
分析问题
Html 标记以及<script>是application级别的,在还没有执行到你的页时候就已经把错误抛出了
问题解决
编辑web.config,在<system.web>里 加入 <pages validateRequest="false"/>
这样会是你的所有页面都不在提示错误
如果只想验证单个页面直接在页面的page指令中加入 validateRequest="false"/
个人签名:天行健,君子以自强不息