gpt4 book ai didi

http - 单击图像时如何发送 "origin"作为 favicon.ico 文件的引用?

转载 作者:可可西里 更新时间:2023-11-01 17:17:53 25 4
gpt4 key购买 nike

我有一个简单的图像预览,单击它时,您会看到全尺寸图像:

<html>
<head>
<meta name="referrer" content="origin">
</head>
<body>
<a href="/myimage.jpg">
<img src="/myimage.jpg" title="my image" border="0" />
</a>
</body>
</html>

问题:浏览器除了请求图片外,还会请求favicon.ico。图片的请求 header 是:Referer: https://example.com/(如预期)。但是,对于 favicon.ico 文件的请求,此 header 是引用页面的完整 url:Referer:https://example.com/where-I-was

如何将 favicon.ico 请求的 Referer header 设置为简单的来源?我不希望它在我的 nginx 日志中显示完整的 url。谢谢!

最佳答案

选项 1

在链接标签上使用 referrerpolicy HTML 属性 - see docs on MDN .

<a href="/myimage.jpg" referrerpolicy="origin">

选项 2

使用webRequest API 重写Referer header - see the MDN page on it here .只需将 header 设置为您想要的任何内容 - 看起来您可能对 window.location 感兴趣对象。

示例代码 - 从 MDN page 修改而来:

var targetURL = "http://example.com/favicon.ico";

var protocol = window.location.protocol;
var hostname = window.location.hostname;
var port = window.location.port;

var origin = protocol + '//' + hostname + (port ? ':' + port : '');

function rewriteUserAgentHeader(e) {
e.requestHeaders.forEach(function(header){
if (header.name.toLowerCase() == "referer") {
header.value = origin;
}
});
return {requestHeaders: e.requestHeaders};
}

browser.webRequest.onBeforeSendHeaders.addListener(
rewriteUserAgentHeader,
{urls: [targetURL]},
["blocking", "requestHeaders"]
);

关于http - 单击图像时如何发送 "origin"作为 favicon.ico 文件的引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53625348/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com