【发布时间】:2018-08-09 13:19:35
【问题描述】:
如果我点击从http://google.com 到http://example.com 的正常链接, 通常,我的浏览器发送到 example.com 的 http referrer 标头是 google.com。 该标头的值是否始终与 example.com 页面中 document.referrer 的值相同?
【问题讨论】:
标签: javascript http browser refer
如果我点击从http://google.com 到http://example.com 的正常链接, 通常,我的浏览器发送到 example.com 的 http referrer 标头是 google.com。 该标头的值是否始终与 example.com 页面中 document.referrer 的值相同?
【问题讨论】:
标签: javascript http browser refer
客户端在请求头中发送的referer与JavaScript中可用的document.referrer相同。但是,您不能相信推荐人信息始终可用。
由客户发送信息。您可以将其关闭,即在浏览器设置中。
在 Firefox 中:https://www.technipages.com/firefox-enable-disable-referrer
或者您可以使用扩展程序将其关闭。
在 Chrome 中:https://chrome.google.com/webstore/detail/referer-control/hnkcfpcejkafcihlgbojoidoihckciin?hl=en
欺骗/发送您想要的任何推荐人也很容易。以 cURL 为例:
curl --referer http://whatever.com/bot.html http://www.example.com/
编辑:您还可以在页面中禁用引荐来源网址发送,以便从该页面单击的链接或 ajax 调用不会发送引荐来源网址标题。只需将此标签添加到页面即可。
<meta name="referrer" content="no-referrer" />
【讨论】:
document.referrer是客户端发送的referrer header的表示。如果可以禁用标头,则 JS 常量也应为空。
document.referer 从标头中获取其值,我不知道这里是否可以从这里获取?