MVC站点安全开发

一、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)]限定页面的访问形式
posted @ 2011-11-15 16:18  陈跳跳  阅读(967)  评论(1编辑  收藏  举报