我正在寻找一套指南或清单,您可以通过这些指南或清单来保护公共ASP.NET MVC网站.我只是想确保在部署网站时我没有做出任何明显和众所周知的问题.
谢谢.
一如既往,请确保您正确编码输出 - 请注意我在这里说编码而不是HtmlEncode.如果您要将内容输出到HTML,那么您想要使用Html.Encode - 但是如果您输出到JavaScript,那么您希望使用JavaScript编码功能. - 这将帮助您反对跨站点脚本(XSS)
在需要的地方(或者可能只是在任何地方)使用有助于防范CSRF攻击的帮助程序
根据您访问数据存储的方式,如果它是SQL数据库,请记住通过参数化查询,存储过程,LINQ或您拥有的内容来保护自己免受SQL注入.
当你测试时 - 确保你的测试数据包含狡猾的输出(无法调用Html.Encode会很容易地显示出来XSS here!
的东西,也许通过,注入JavaScript的东西也一样,会出现错误!)
当模型绑定对属性使用白名单方法时,用户无法使绑定绑定属性不打算绑定!