【问题标题】:Validate Cross website request - Asp.Net验证跨网站请求 - Asp.Net
【发布时间】:2011-08-16 12:20:53
【问题描述】:

我的网页被另一个网站请求的情况。该网站将包含指向我的网页的超链接。

我需要检查请求是否来自有效网站。我通过检查该网站的 URL Referer 来做到这一点,并且工作正常。

验证此请求的另一种方法是验证客户端证书 (x.509)。

我想知道验证推荐网站的最佳/安全方式是什么?除了 url referer 和证书验证,还有其他方法可以验证 referer 站点吗?

谢谢 茴香

【问题讨论】:

    标签: asp.net


    【解决方案1】:

    客户端证书会识别点击链接的人,而不是引用页面,因此应该排除它。

    至于引荐来源网址,它确实有效,但有几点需要注意: 1 - 它不安全(对于“安全”的大值)。 http_referrer 是浏​​览器在您的站点请求中插入的可选字段。所以它是在客户端控制的,很容易伪造。因此,如果您想要的安全级别是“确保有人没有在另一个页面上发布我的链接,不知情的用户可能会点击它”,那么您可以检查引荐来源网址。如果您还依赖它来做更多事情(比如确保传入的人被授权在您的网站上做某事),那么您可能需要一种用户身份验证形式

    2- 出于隐私考虑,可能安装在您用户计算机上的某些软件(例如“Norton Internet Security”)会掩盖 http_referrer,因此您的某些用户可能没有 http_referrer。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-28
      • 2015-12-04
      • 1970-01-01
      • 2019-03-21
      • 2013-02-15
      • 1970-01-01
      • 2018-04-19
      • 2010-12-11
      相关资源
      最近更新 更多