【问题标题】:Public ASP.NET Application Security Considerations公共 ASP.NET 应用程序安全注意事项
【发布时间】:2009-03-12 15:04:08
【问题描述】:

必须在我的工作中编写一个极其安全的 ASP.NET 应用程序,而不是在 Internet 上拖网寻找最佳实践,我想知道什么考虑因素以及通常应该做些什么来确保公共 Web 应用程序是安全。

当然,我们已经考虑了用户/通行证组合,但需要比这更深的层次。我说的是应用程序的每个级别和层,即

  • 使用 URL 重写
  • 母版页
  • 站点地图
  • 连接池
  • 会话数据
  • 编码密码。
  • 使用存储过程而不是直接 SQL 语句

我将其设为社区 wiki,因为没有一个唯一正确的答案,因为它是一个非常广泛的讨论主题。我还要指出,这绝不是我的强项,以前的安全锁定是通过非公开应用程序实现的。

【问题讨论】:

  • 通过互联网搜索是第一步。完成后回来,你会学到更多。 :-)
  • 我已经在互联网上搜索过,但押韵多于理性。 SO 不仅是一个活跃的社区,而且到处都是真正知道自己在说什么的人,这就是我转向问这个问题的原因:)

标签: asp.net sql security


【解决方案1】:

这是一个比我认为你可能意识到的更大的话题。最好的建议是找一个已经知道可以为您提供建议的人。如果失败了,我会先阅读 Microsoft 文档“Improving Web Application Security: Threats and Countermeasures”,但会被警告打印到 919 页。

【讨论】:

    【解决方案2】:

    您应该将“存储过程”的概念细化为仅使用参数化查询。这将解决您那里的大部分问题。您还可以限制 UI 上的字段并删除或编码破坏性字符,例如讨厌的 ';'...

    【讨论】:

    • 添加了 ui 的东西,不一定需要一个新的帖子来做同样的事情......
    【解决方案3】:
    • 使用表单身份验证,而不是在会话中存储身份验证数据。
    • 显然:哈希密码。如果您想非常谨慎,请使用 SHA1 加密而不是 md5。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多