问题描述
为什么呢?
解决方案
解决方案二:
防止用户提交一个JS,HTML,CSS比如说用户评论的时候在文本框里面输入一个<buttonID="button"type="button">评论</button>这样你数据读取到页面评论页面就会显示一个button很难看的
解决方案三:
严重的话提交一个js脚本让你狂打开页面
解决方案四:
防止注入啊,如果别人给你注入一下,然后你又没有防止,就会出现大麻烦的比如给你注入一个脚本,跳转到百度的那么,那么一打开网页就跳到百度了,还怎么看你的网站啊
解决方案五:
哦,这样的啊
解决方案六:
对呀,你想想,本来画的挺好的一个页面,结果人家给你弄进来两个div,结果导致整个页面的样式乱了,多麻烦啊又或者是数据库的注入,影响安全
解决方案七:
引用5楼qiudong_5210的回复:
对呀,你想想,本来画的挺好的一个页面,结果人家给你弄进来两个div,结果导致整个页面的样式乱了,多麻烦啊又或者是数据库的注入,影响安全
。。。页面提交,如何注入?
解决方案八:
insert可以进行SQLinjection?
解决方案九:
不过滤要出错。。有些脚本。。你在文本框里输入script在提交看看啥情况了。。HTML转换。。。///<summary>///插入SQL时替换字符///</summary>///<paramname="str"></param>///<returns></returns>publicstaticstringEncode(stringstr){str=str.Replace("'","''");str=str.Replace(""",""");str=str.Replace("<","<");str=str.Replace(">",">");str=str.Replace("n","<br>");str=str.Replace("“","“");str=str.Replace("”","”");returnstr;}///<summary>///取SQL值时还原字符///</summary>///<paramname="str"></param>///<returns></returns>publicstaticstringDecode(stringstr){str=str.Replace("”","”");str=str.Replace("“","“");str=str.Replace("<br>","n");str=str.Replace(">",">");str=str.Replace("<","<");str=str.Replace(""",""");str=str.Replace("''","'");returnstr;}
用这个来替换
解决方案十:
可是我输入<script>alert('地地道道)</script>的时候,提交成功,但是内容是空的可是我的文本框输入要求是非空的
解决方案十一:
这是过滤的源码System.Text.RegularExpressions.Regexregex1=newSystem.Text.RegularExpressions.Regex(@"<script[sS]+</script*>",System.Text.RegularExpressions.RegexOptions.IgnoreCase);System.Text.RegularExpressions.Regexregex2=newSystem.Text.RegularExpressions.Regex(@"href*=*[sS]*script*:",System.Text.RegularExpressions.RegexOptions.IgnoreCase);System.Text.RegularExpressions.Regexregex3=newSystem.Text.RegularExpressions.Regex(@"no[sS]*=",System.Text.RegularExpressions.RegexOptions.IgnoreCase);System.Text.RegularExpressions.Regexregex4=newSystem.Text.RegularExpressions.Regex(@"<iframe[sS]+</iframe*>",System.Text.RegularExpressions.RegexOptions.IgnoreCase);System.Text.RegularExpressions.Regexregex5=newSystem.Text.RegularExpressions.Regex(@"<frameset[sS]+</frameset*>",System.Text.RegularExpressions.RegexOptions.IgnoreCase);System.Text.RegularExpressions.Regexregex6=newSystem.Text.RegularExpressions.Regex(@"<img[^>]+>",System.Text.RegularExpressions.RegexOptions.IgnoreCase);System.Text.RegularExpressions.Regexregex7=newSystem.Text.RegularExpressions.Regex(@"</p>",System.Text.RegularExpressions.RegexOptions.IgnoreCase);System.Text.RegularExpressions.Regexregex8=newSystem.Text.RegularExpressions.Regex(@"<p>",System.Text.RegularExpressions.RegexOptions.IgnoreCase);System.Text.RegularExpressions.Regexregex9=newSystem.Text.RegularExpressions.Regex(@"<[^>]*>",System.Text.RegularExpressions.RegexOptions.IgnoreCase);html=regex1.Replace(html,"");//过滤<script></script>标记html=regex2.Replace(html,"");//过滤href=javascript:(<A>)属性html=regex3.Replace(html,"_disibledevent=");//过滤其它控件的on...事件html=regex4.Replace(html,"");//过滤iframehtml=regex5.Replace(html,"");//过滤framesethtml=regex6.Replace(html,"");//过滤framesethtml=regex7.Replace(html,"");//过滤framesethtml=regex8.Replace(html,"");//过滤framesethtml=regex9.Replace(html,"");html=html.Replace("","");html=html.Replace("</strong>","");html=html.Replace("<strong>","");returnhtml;
解决方案十二:
有人知道为什么会出现这种情况吗?