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