asp.net-mvc - ASP.NET MVC 安全建议

标签 asp.net-mvc security

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

我对 ASP.NET MVC 的了解有限,因此我希望您能就如何最好地处理身份验证、输入验证和防止常见攻击(XSS、XSRF 等)提供意见。

我将首先列出几篇文章Stephen Walther posted on his blog :

  • Tip #7 - Prevent JavaScript Injection Attacks with Html.Encode
  • Tip #10 - Prevent URL Manipulation Attacks
  • Tip #46 – Don’t use Delete Links because they create Security Holes

  • 验证:
  • xVal Validation Framework

  • 谢谢,
    阿尼

    最佳答案

    在我的脑海中(而且还远未完成)......

  • 在所有表单上使用 AntiForgeryToken 以防止 XSRF。使用单元测试确保所有接受 POSTS 的 Controller 操作都使用 ValidateAntiForgeryToken 属性进行修饰。
  • 尽可能利用 HtmlHelper 扩展来利用自动 HTML 编码。
  • 对所有数据库访问使用带有参数化查询的 ORM —— 不是 MVC 独有的,但仍然相关。
  • 将您接受的 HTTP 动词限制在最低要求。使用 DELETE (vi AJAX) 或 POST 进行删除操作。
  • 使用 AuthorizeAttribute 或派生自它的属性来保护非公共(public)操作。
  • 不要在可能被缓存的 url 中公开用户 ID/密码(即,通过表单 POST 而不是 GET url 登录)。与往常一样,使用 SSL 传递敏感数据。
  • 关于asp.net-mvc - ASP.NET MVC 安全建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/624386/

    相关文章:

    c# - ASP.NET Core 2.0+ 中的 Multi-Tenancy

    asp.net-mvc - 如何使用 asp.net mvc View 模型和数据注释属性保持 DRY?

    java - JVM 是否可以选择自动加密其内存?

    php - 服务器端 session 安全吗?

    security - HTTPS 响应正文 - 安全吗?

    javascript - 网站未通过 bundle 加载 jQuery

    c# - 使用 for 循环渲染 TreeView

    c# - "[HandleError]"在类级别,在方法级别重写

    security - Couchbase注入(inject)?

    java - 初创公司应采取的最低安全预防措施是什么?