【问题标题】:avoid cross site scripting via httpmodules for use in asp.net mvc2避免通过 httpmodules 在 asp.net mvc2 中使用跨站点脚本
【发布时间】:2011-08-08 14:28:48
【问题描述】:

除了Anti Forgery Token 之外,还有没有更好的方法,比如 asp.net mvc2 中的内置功能。我想编写自己的 http 模块以避免 CSRF。

据我了解,Antiforgerytoken 不会生成任何 cookie。 "double-submitted cookie"是个好方法吗?

任何最佳做法或建议。

--编辑: 这个链接很有用:Stackoverflow previous question

【问题讨论】:

  • 我需要一些其他更好的方法来规避 cookie 窃取和其他格式。我也不使用验证码,但这是一个更好的选择。我想从 IIS 级别处理这个问题...
  • 也许可以解释为什么需要在 IIS 级别处理它。我这么说是因为使用 AntiForgeryToken 被认为是最佳实践。是的,它确实会产生一个cookie……这就是它的工作原理。这篇博客文章很好地解释了它是如何工作的。 blog.stevensanderson.com/2008/09/01/…
  • @Charlino:基本上我的解决方案将是一个库,并且必须注意避免 CSRF。我将没有 UI,并希望我的图书馆的用户在我从图书馆处理 CSRF 时忘记它。我也测试了 antiforgerytoken 并且工作正常,但我需要一个服务器端解决方案。
  • .NET 的 OWASP CSRFGuard 值得一看。 owasp.org/index.php/.Net_CSRF_Guard

标签: c# asp.net-mvc-2 csrf


【解决方案1】:

这个库看起来和你写的很相似。 http://anticsrf.codeplex.com/ 它使用 cookie 作为令牌。我用过它,它帮助我的项目通过了安全审查。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-27
    • 2015-12-18
    相关资源
    最近更新 更多