asp.net-mvc - 网站安全陷阱以及在 ASP.NET MVC 中我可以做什么来避免/减轻它们?

标签 asp.net-mvc security

我刚刚开始致力于实现我的第一个面向公众的网站。由于我对此不熟悉,因此我认为有必要列出常见的陷阱、它们是什么以及如何避免它们。

我正在寻找类似的东西:

  • SQL 注入(inject)(我知道这个,但如果有人知道分析网站注入(inject)漏洞的工具,那会很有用)。
  • 密码存储不正确。我知道我应该用盐。 ASP.NET MVC 为我提供了哪些工具来执行此操作?
  • 登录速率限制(Jeff 今天在 Coding Horror 中提到过)。我如何在 ASP.NET MVC 中实现这个?我可以使用标准成员(member)提供商实现来做到这一点吗?
  • XSS 到底是什么?ASP.NET MVC 工具箱中有哪些工具可以避免 XSS?
  • 等等

如果某个主题已在另一个问题中讨论过,那么快速总结和指向该问题的链接将是一个好主意。

最佳答案

  • SQL 注入(inject) - 使用参数化查询!如果您使用 StringBuilder 类或字符串连接来构建 SQL 查询,则很可能容易受到 SQL 注入(inject)的攻击。
  • XSS - 如果您使用 MVC 帮助程序(如 =Html.Encode(yourPossibleCompromishedData))将数据呈现到您的页面,您应该没问题。这些帮助程序旨在阻止在浏览器上执行注入(inject)的代码。 ASP.NET 还具有表单保护功能,可阻止恶意代码发布到您的操作中(这不是 MVC,而是 aspnet 本身)。
  • 密码存储不正确。使用内置的 aspnet 成员(member)提供程序 - 它使用良好的模式(salt..)来存储密码等。
  • 登录速率限制 - 我相信有一些 contrib 项目可以缓解这种情况(如果内置提供商尚未这样做)
  • XSS 到底是什么?ASP.NET MVC 工具箱中有哪些工具可以避免 XSS?阅读:XSS 。 MVC 1.0 为表单提供了 =Html.ValidationSummary() 隐藏字段,以减少跨站点脚本攻击。

关于asp.net-mvc - 网站安全陷阱以及在 ASP.NET MVC 中我可以做什么来避免/减轻它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/834061/

相关文章:

security - Grails 密码更改 : Allow only "new" passwords

PHP - MD5、SHA、散列安全

PHP 的 mysql_real_escape_string() 的 Java 等价物

.net - 使用 DPAPI : Obvious hole? 保护加密 key

java - 生成没有安全性的 jHipster 独立服务器应用程序

c# - MVC中Http错误405的自定义错误处理程序

asp.net-mvc - ASP.NET MVC 路由失败。这是错误还是极端情况?

javascript - 如何将 Ajax.BeginForm MVC 助手与 JSON 结果一起使用?

c# - Visual Studio 2013 编辑 Razor 文件速度慢

asp.net-mvc - 在多个 MVC 应用程序中重用一个 MVC 区域?