gpt4 book ai didi

javascript - 使用 webRequest 取消另一个扩展程序发出的请求

转载 作者:行者123 更新时间:2023-11-28 01:06:18 25 4
gpt4 key购买 nike

我已经成功地使用 webRequest API 阻止了我访问的网站发出的所有 xmlhttp 请求。但是,我的目标是绕过安装在我们学校 Chromebook 上的内容安全过滤器。该扩展程序通过读取选项卡的 URL 并向其服务器发送 xmlhttprequest 来询问网站是否被阻止。我已经确定,如果我取消对其服务器发出的所有这些 xmlhttprequests,则不会阻止任何网站。

我正在使用以下代码来拦截所有 xmlhttprequests。

chrome.webRequest.onBeforeSendHeaders.addListener(function(details){
if(details.type=='xmlhttprequest')
{
return{cancel:true};
}
},{urls: ['<all_urls>']},['blocking', 'requestHeaders']);

此代码非常适合阻止来自任何网站的请求(例如,您无法在启用此扩展程序的情况下播放 spotify 音乐)。但是 onBeforeSendHeaders 似乎忽略了扩展发出的请求。因此,此代码无法阻止学校分机发送到其服务器的 xmlhttp 请求。我也有使用 onHeadersReceived 和 onBeforeRequest 阻止 xmlhttprequests 的代码,但它们都有同样的问题。它们会阻止来自网站的请求,但不会识别来自扩展程序的请求。

奇怪的是,有时这段代码确实有效,并且会阻止来自扩展程序的请求,但大多数情况下(比如 99%),它会忽略它们。 有没有办法确保我的扩展程序不会忽略来自另一个扩展程序的请求?

我知道你会说我不应该绕过我学校的网络过滤器,因为它是错误的,否则我会惹上麻烦。但我这样做只是因为我喜欢把事情弄清楚,我不会用它来做会给我或学校带来麻烦的事情。此外,我还制作了其他类似的扩展程序,这些扩展程序最近得到修复,每个使用它们的人都非常希望我更新/修复我的应用程序。

最佳答案

Is there a way to ensure that my extension doesn't ignore the requests made from another extension?

没有。过去可以拦截来自其他扩展程序和应用程序的请求,但这被视为 security bug - 因为您可能会污染数据以获得更高权限的扩展。

因此,我们确保您忽略此类请求。

关于javascript - 使用 webRequest 取消另一个扩展程序发出的请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39627911/

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