【发布时间】:2011-07-20 12:54:27
【问题描述】:
我有一个登录页面,出于 SSO 的目的,来自不同域的用户被重定向到此页面。我使用referrer HTTP Header 字段来了解用户来自哪里,因此在成功登录后,我将他/她返回到他/她的原始域。 但有时我的推荐人没有设置,而其他时候它已设置。为什么?
【问题讨论】:
标签: asp.net http browser http-headers
我有一个登录页面,出于 SSO 的目的,来自不同域的用户被重定向到此页面。我使用referrer HTTP Header 字段来了解用户来自哪里,因此在成功登录后,我将他/她返回到他/她的原始域。 但有时我的推荐人没有设置,而其他时候它已设置。为什么?
【问题讨论】:
标签: asp.net http browser http-headers
用户可以使用不同的方法访问您的页面:
现在,浏览器在设置referrer 标头字段的方式和时间方面确实存在差异。但作为一般规则,您可以确定在点击链接或提交表单(发布请求)时,他们会设置referrer 字段。此外,如果您通过重定向或链接来到当前页面,浏览器仍会在 F5 上保留引用标题(页面重新加载)。
如果您看到您的推荐人字段为空,那是因为有人知道您的登录页面 URL 并将其直接输入到地址栏中,或者有人已将其添加为书签,因此发送了 GET 请求。
通常,您不应该总是期望引用者字段,因为它不在您的控制范围内。您应该使用 cookie 或查询字符串,因为它们在您的控制之下。
【讨论】:
另一件事是,作为浏览器安全设置的一部分,某些用户可能在其浏览器中将引用选项设置为禁用。
【讨论】: