我正在使用Chrome扩展程序,试图保护用户不被重定向到恶意网页。
当用户访问阴影域时,例如&#34; fa ec book.com&#34;他将被重定向到另一页,但这不是他的意图。当用户打算被重定向到另一个页面时,这主要是由于点击(例如,点击超链接:<a href="http://foobar.com">
)
我如何区分这两种类型?
目前我正在使用我的扩展程序中的代码检查重定向的详细信息,但我找不到任何可以区分的内容:
chrome.webRequest.onBeforeRedirect.addListener(
function(details) {
console.log(details);
},
{urls: ['<all_urls>']});
答案 0 :(得分:2)
除非Chrome专门提供此信息,否则您无法直接检测请求是由于单击超链接或在浏览器中键入URL而导致的重定向或直接请求的结果。两者都是标准浏览器请求。 (您可以检查HTTP引用程序是否有直接链接,也许可以查看链接的来源 - 但这很可能不可靠。)
IMO您需要在实际发生之前检查重定向。换句话说,通过扫描先前的响应。但是可能有3种重定向:
Location:
HTTP响应标头。head
部分。 (虽然可以在JS后期加入?)