Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript、Chrome扩展:覆盖cookie getter和setter_Javascript_Cookies_Google Chrome Extension_Getter Setter - Fatal编程技术网

Javascript、Chrome扩展:覆盖cookie getter和setter

Javascript、Chrome扩展:覆盖cookie getter和setter,javascript,cookies,google-chrome-extension,getter-setter,Javascript,Cookies,Google Chrome Extension,Getter Setter,编辑:在被推荐使用标题后,我问了一个类似的问题 我正在尝试开发一个Chrome扩展,它可以分析网站设置/检索的cookie,如果cookie不满足某些要求,就会停止设置/检索 我想我必须重写cookiesetter和getter 我发现了类似的问题: 在阅读答案时,我不得不说我很困惑,甚至不确定我想做什么是可能的 尽管如此,特别是在提到问题3时,我尝试提出一个简单的测试扩展,该扩展使用不做任何事情的函数覆盖cookie getter和setter(因此在该扩展处于活动状态时不应设置coo

编辑:在被推荐使用标题后,我问了一个类似的问题

我正在尝试开发一个Chrome扩展,它可以分析网站设置/检索的cookie,如果cookie不满足某些要求,就会停止设置/检索

我想我必须重写cookiesetter和getter

我发现了类似的问题:

在阅读答案时,我不得不说我很困惑,甚至不确定我想做什么是可能的

尽管如此,特别是在提到问题3时,我尝试提出一个简单的测试扩展,该扩展使用不做任何事情的函数覆盖cookie getter和setter(因此在该扩展处于活动状态时不应设置cookie)。这是扩展名的3个文件

manifest.json

{
“清单版本”:2,
“名称”:“测试”,
“说明”:“测试扩展”,
“版本”:“1.0”,
“权限”:[
"",
“标签”,
“网络请求”,
“webRequestBlocking”
],
“背景”:{
“脚本”:[“background.js”]
}

}
我想你是在努力改造这里的轮子。引用文件:

使用查询和修改Cookie,并在Cookie更改时获得通知

我知道有时候你想阻止它,让我们看看它,但是你必须了解工作。有两种cookie集操作:

  • 通过客户端,通过
    document.cookie
    操作。那么您的方法可能会有所帮助,但是为了确保cookie被拦截,您不能依赖编程注入,它确实太慢了。您需要在清单中使用适当的:

    “内容脚本”:[{
    “matches”:[“to可以检查和修改设置cookie的标题,而对的阻止响应可以修改报告给服务器的cookie


  • 第1点没有真正改变任何东西,我的扩展仍然可以设置和读取cookie,但停止/过滤cookie不是我的主要目标,我对服务器的活动更感兴趣。在第2点中,你是说我不应该担心重写setter/getter,而应该尝试更改标头吗?在HeadersReceived上尝试了选项阻塞和重设sponseHeaders。与链接页面上的示例类似,我扫描所有标题元素和拼接细节。responseHeaders[I]当它的名字等于Set Cookie时。我想它会完全阻止Cookie设置,但看看访问en.wikipedia.org后存储的Cookie,唯一的区别是,有了插件,域的Cookie就会出现:upload.wikimedia.org en.wikipedia.org。没有插件,wikipedia.org也会出现,所以只有这个被阻止。看起来像是worki使用标题ng无法解决此问题,或者我遗漏了一些内容。您遗漏了一些内容。可能您对webRequest的URL筛选过于自由。请记住,您还需要对所有要捕获的URL拥有权限。我使用的URL:[“”]所以这应该不是问题。这是后台页面。清单权限是,webRequest,webRequestBlocking,tabs。
    chrome.webRequest.onHeadersReceived.addListener(函数(细节){for(var i=0;i
    注释中的代码..我甚至不打算读这篇文章。在这一点上,提出一个新问题是最好的做法。
    "content_scripts" : [{
      "matches" : ["<all_urls>"],
      "js": ["cookiescript.js"],
      "run_at": "document_start"
    }]