MVC安全防护

一、XSS攻击 

跨域脚本攻击(Cross Site Scripting),恶意植入前端代码,比如HTML代码和客户端脚本,异常js获取用户cookie然后跳转到别的站点。

防护措施

标签转换(如“<”转换为“&lt;”  http://114.xixik.com/character/)

对于参数,可使用微软的HtmlSanitizationLibrary.dll库进行过滤掉html和js而不影响正常的数据

  string name = "<div>张三</div><script>alert(11)</script>";
         name = Sanitizer.GetSafeHtmlFragment(name);//name值变为张三

二、SQL注入

防护措施

对所有的sql语句和传入参数根据sql关键词和关键符号进行过滤替换。 

三、防止CSRF(跨网站请求伪造),只针对POST请求

  Action前加入[ValidateAntiForgeryToken(Salt ="密钥")]
  在Form表单中加入@Html.AntiForgeryToken("密钥");

四、Cookie窃取

  对用户输入进行过滤,避免被截持Cookie,避免被绕过过滤

五、其他细节

  1.CustomErrors Mode=“on",发布网站时必须为On,避免错误暴露
  2.[nonaction]锁定不开放的Action
  3.[AcceptVerbs(HttpVerbs.Post)]限定页面的访问形式
原文地址:https://www.cnblogs.com/zhangchengye/p/6212182.html