xss之用户提交脚本攻击
下面是一个低级的防范:
对用户提交的内容进行html.Encode()处理,就是html编码
比如,用户在提交评论区,故意提交一段JS代码
<script>alert("你的QQ号码中奖了,欢迎拨打1008611231领奖")</script>
那么评论在加载页面加载的时候就会弹出这个消息对话框
如何阻住用户提交这样的脚本,就可以使用Html编码HttpUtility.HtmlEncode(s),这样就可以把s里面的"<",">"等转化为<,>,这样就不会在把<script>当作脚本标签了。
浏览器会自动解析成正常显示内容,这样就显示出你提交的原内容了。<script>alert("你的QQ号码中奖了,欢迎拨打1008611231领奖")</script>不会弹出,而是显示原样了。
当然,ASP.NET已经自动对这些脚本攻击做了防范,在页面顶端page中默认是ValidateRequest="ture",可以防范类似的脚本攻击,如果你要做一个类似技术论坛需要可以提交HTML代码的地方关闭它就可以了ValidateRequest="false".