ASP.NET MVC与XSS
XSS:跨站脚本攻击。
因为前端页面中的 图片,css样式、脚本是不受网站同源策略的限制的。所以用户可以在提交的数据中加入 <script>....</script>,这样的内容;然后就可以使用脚本来获取浏览器中的一些数据,再将数据提交到其他的服务器上。
为了安全起见,正常的Post提交是不允许提交诸如<>$/等敏感字符的(有点类似脚本注入)。如果用户需要提交这些数据,就需要在model的相应属性上附加AllowHtmlAttribute或者在Action上附加ValidateInputAttribute(false)来实现。
但是关闭验证之后程序就存在XSS跨站脚本攻击,这时就需要 引入 AntiXss 来对数据进行验证。(使用html.encode方法无法对一些恶意的字符进行验证)。
一篇很好的文章讲述使用AntiXss防止跨站脚本攻击:https://www.cnblogs.com/onepiece_wang/p/3669728.html