【问题标题】:javascript Chrome Extension Not able to read httponly cookiesjavascript Chrome 扩展程序无法读取 httponly cookie
【发布时间】:2016-01-30 22:24:37
【问题描述】:

我需要删除在我的 chrome 浏览器中设置的 gmail cookie,使用 chrome 扩展,但它可以删除除 Gmail cookie 之外的所有 cookie,然后我注意到 Gmail cookie 是 httponly,有没有办法使用 javascript chrome 扩展来删除它们..

谢谢:)

【问题讨论】:

    标签: javascript cookies google-chrome-extension


    【解决方案1】:

    Chrome 扩展程序可以使用chrome.cookies API,该 API 可以访问 cookie 存储中的所有 cookie,包括 httpOnly

    API 的文档是here

    请注意,此 API 需要声明权限,并且不适用于内容脚本。

    【讨论】:

    • 您好 Xan,感谢您的回复,我很欣赏并同意您的 chrome.cookies 方法,但是我无法使用它访问 httponly cookie。很抱歉提供了不正确的内容。我已经用代码更新了我的问题。非常感谢,如果您能提供帮助,我会很高兴
    • @user5821368 看来您已经解决了问题 - 最好将最终解决方案作为单独的答案发布,而不是作为问题的一部分。
    • 当然 Xan,我是 StackOverFlow 的新手..所以不太清楚。谢谢顺便说一句
    • 鉴于来自 OP 的 cmets,此答案尚不清楚,现在是否可以从 chrome 扩展中访问 HTTPOnly cookie? API 文档提到您可以“设置” cookie 的 HttpOnly 值,假设它可以在任何 cookie 上执行此操作并且这样读取 HttpOnly cookie 是否相同?
    【解决方案2】:

    这个对于删除每个 cookie 都非常有效,即使它是 httponly

    chrome.cookies.getAll({'domain':'accounts.google.com'},function(cookie){ 
    
        for(i=0;i<cookie.length;i++){
    
        var prefix = "https://";
    
        var url =  prefix + cookie[i].domain + cookie[i].path;
    
        chrome.cookies.remove({'url':url , 'name':cookie[i].name},function(cookie){ });             
        }       
     }); 
    

    【讨论】:

      【解决方案3】:

      HTTPOnly cookie 的重点是不让 javascript 访问它们。 所以基本上你无法阅读它们。 如果要删除它们,可以从提供浏览器的选项中删除

      【讨论】:

      • 但问题是专门针对浏览器扩展的,它具有那种级别的访问权限。
      • 嗨 Guti,对不起,我不想直接从浏览器中删除 cookie 我知道这个选项,但我是一名开发人员,希望我的代码为我做这件事,问题是关于使用 chrome 扩展.谢谢你的回复顺便说一句:)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-04-24
      • 2017-02-04
      • 2015-05-26
      • 1970-01-01
      • 2011-12-25
      • 1970-01-01
      • 2019-10-11
      相关资源
      最近更新 更多