25 09 2020
概述

安全在web领域是一个永远都不会过时的话题,今天我们就来看一看一些在开发ASP.NET MVC应用程序时一些值得我们注意的安全问题。本篇主要包括以下几个内容 :

1.认证

2.授权

3.XSS跨站脚本攻击

4.跨站请求伪造


一、XSS攻击

默认情况下,从@表达式生成的所有文本都是HTML编码过的,但由于某些情况下要显示HTML文本时,必须对于进行白名单过滤。使用微软的 HtmlSanitizationLibrary.Dll库进行白名单过滤 Sanitizer.GetSafeHtmlFragment(InputHtml);

二、SQL注入

对所有的SQL语句及参数进行全面的过滤;

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

1.Action前加入[ValidateAntiForgeryToken(Salt ="密钥")]   

2.在Form表单中加入@Html.AntiForgeryToken("密钥");

四、Cookie窃取

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

五、其他细节

1.CustomErrors Mode=“on",发布网站时必须为On,避免错误暴露

2.[nonaction]锁定不开放的Action

3.[AcceptVerbs(HttpVerbs.Post)]限定页面的访问形式

4.可以考虑使用.net混淆器

5.项目发布时候,只发布必须的文件

延伸阅读
  1. Linq分页(skip和Take)
  2. 个人博客 安装部署教程
发表评论