【发布时间】:2011-08-16 12:20:53
【问题描述】:
我的网页被另一个网站请求的情况。该网站将包含指向我的网页的超链接。
我需要检查请求是否来自有效网站。我通过检查该网站的 URL Referer 来做到这一点,并且工作正常。
验证此请求的另一种方法是验证客户端证书 (x.509)。
我想知道验证推荐网站的最佳/安全方式是什么?除了 url referer 和证书验证,还有其他方法可以验证 referer 站点吗?
谢谢 茴香
【问题讨论】:
标签: asp.net
我的网页被另一个网站请求的情况。该网站将包含指向我的网页的超链接。
我需要检查请求是否来自有效网站。我通过检查该网站的 URL Referer 来做到这一点,并且工作正常。
验证此请求的另一种方法是验证客户端证书 (x.509)。
我想知道验证推荐网站的最佳/安全方式是什么?除了 url referer 和证书验证,还有其他方法可以验证 referer 站点吗?
谢谢 茴香
【问题讨论】:
标签: asp.net
客户端证书会识别点击链接的人,而不是引用页面,因此应该排除它。
至于引荐来源网址,它确实有效,但有几点需要注意: 1 - 它不安全(对于“安全”的大值)。 http_referrer 是浏览器在您的站点请求中插入的可选字段。所以它是在客户端控制的,很容易伪造。因此,如果您想要的安全级别是“确保有人没有在另一个页面上发布我的链接,不知情的用户可能会点击它”,那么您可以检查引荐来源网址。如果您还依赖它来做更多事情(比如确保传入的人被授权在您的网站上做某事),那么您可能需要一种用户身份验证形式
2- 出于隐私考虑,可能安装在您用户计算机上的某些软件(例如“Norton Internet Security”)会掩盖 http_referrer,因此您的某些用户可能没有 http_referrer。
【讨论】: