asp.net – 当浏览器在HTTP Request标头中设置“referrer”时?

我有一个登录页面,来自不同域的用户被重定向到此页面以用于SSO.我使用referrer HTTP Header字段来了解用户来自哪里,因此在成功登录后,我将他/她返回到他/她的原始域.
但有时我的推荐人没有设置,而有时则设置.为什么?
用户可以使用不同的方法访问您的页面:

>输入页面的URL,直接进入浏览器的地址栏
>通过从其他站点单击指向您站点的链接
>重新加载当前页面
>通过在您的网站上提交表单(将POST请求发送回您的网站)
>浏览浏览器的后退/前进按钮.
>通过前一页重定向到当前页面.

现在,浏览器在设置引用标头字段的方式和时间方面确实存在差异.但作为一般规则,您可以确保在链接点击或提交表单(发布请求)时,他们设置了referrer字段.此外,如果您通过重定向或链接访问当前页面,浏览器仍会在F5(页面重新加载)上保留引用标头.

如果您看到您的引荐来源字段为空,那是因为有人知道您的登录页面网址并将其直接输入地址栏,或者有人为其添加了书签,因此请发送GET请求.

通常,您不应该总是指望referrer字段,因为它不在您的控制之内.您应该使用cookie或查询字符串,因为它们在您的控制之下.

相关文章
相关标签/搜索