一、XSS攻击
默认情况下,从@表达式生成的所有文本都是HTML编码过的,但由于某些情况下要显示HTML文本时,必须对于进行白名单过滤。
使用微软的 HtmlSanitizationLibrary.Dll库进行白名单过滤
Sanitizer.GetSafeHtmlFragment(InputHtml);
二、SQL注入
对所有的SQL语句及参数进行全面的过滤
三、防止CSRF(跨网站请求伪造),只针对POST请求
Action前加入[ValidateAntiForgeryToken(Salt ="密钥")]
在Form表单中加入@Html.AntiForgeryToken("密钥");
四、Cookie窃取
对用户输入进行过滤,避免被截持Cookie,避免被绕过过滤
五、其他细节
1.CustomErrors Mode=“on",发布网站时必须为On,避免错误暴露
2.[nonaction]锁定不开放的Action
3.[AcceptVerbs(HttpVerbs.Post)]限定页面的访问形式