我最近创建了一个使用ASP.NET MVC的个人项目(撰写本文时为RC1)。我的背景是传统的ASP.NET WebForms开发。
我的知识ASP.NET MVC是有限的,所以我希望您提供有关如何最好地进行身份验证,输入验证和防止常见攻击(XSS,XSRF等)的输入。
我首先列出一些文章Stephen Walther posted on his blog:
验证:
谢谢,
阿尼
答案 0 :(得分:6)
脱离我的头顶(并且远未完成)......
在所有表单上使用AntiForgeryToken以防止XSRF。使用单元测试确保接受POSTS的所有控制器操作都使用ValidateAntiForgeryToken属性进行修饰。
尽可能利用HtmlHelper扩展程序来利用自动HTML编码。
对所有数据库访问使用带参数化查询的ORM - 不是MVC独有的,但仍然相关。
在您接受的最低要求的HTTP谓词中具有限制性。使用DELETE(vi AJAX)或POST进行删除操作。
使用AuthorizeAttribute或从中派生的属性来保护非公开行为。
不要在可能被缓存的网址中公开用户ID /密码(即通过表单POST而不是GET网址登录)。与往常一样,使用SSL传递敏感数据。