ASP.NET MVC安全建议

Arn*_*kas 4 security asp.net-mvc

我最近创建了一个使用ASP.NET MVC的个人项目(撰写本文时为RC1).我的背景是传统的ASP.NET WebForms开发.

我的知识ASP.NET MVC是有限的,所以我想了解如何最好地进行身份验证,输入验证和防止常见攻击(XSS,XSRF等)的输入.

我首先列出一些文章Stephen Walther在他的博客上发布的文章:

验证:



谢谢,
阿妮

tva*_*son 6

脱离我的头顶(并且远未完成)......

  • 在所有表单上使用AntiForgeryToken以防止XSRF.使用单元测试确保接受POSTS的所有控制器操作都使用ValidateAntiForgeryToken属性进行修饰.

  • 尽可能利用HtmlHelper扩展来利用自动HTML编码.

  • 对所有数据库访问使用带参数化查询的ORM - 不是MVC独有的,但仍然相关.

  • 在您接受的最低要求的HTTP谓词中具有限制性.使用DELETE(vi AJAX)或POST进行删除操作.

  • 使用AuthorizeAttribute或从其派生的属性来保护非公共操作.

  • 不要在可能被缓存的URL中公开用户ID /密码(即,通过表单POST而不是GET URL登录).与往常一样,使用SSL传递敏感数据.