【问题标题】:Where does Chrome store cookies?Chrome 在哪里存储 cookie?
【发布时间】:2015-09-10 08:56:44
【问题描述】:

假设我使用PHP 中的setcookie() 函数设置了一个cookie:

setcookie('name','foo',false,'/',false);

我可以看到它:

chrome://settings/cookies 

但是,我找不到存储在硬盘上的实际文件。谁能告诉我这个特定的 cookie 存储在硬盘上的什么位置?

【问题讨论】:

  • 默认情况下,它是保存在 php.ini 中 session.save_path 设置所指向的路径中的文件
  • 您想知道 cookie 是存储在服务器上还是浏览器中的什么位置?因为你在使用chrome://settings/cookies 时看到的是浏览器中的cookies,它不知道服务器中可能存储了哪些cookies。
  • cookie 在客户端不是吗?所以我想知道它在客户端的硬盘@JoachimPileborg 上存储在哪里。我可以看到我访问过的网站在我的硬盘上保存的其他 cookie,但我找不到我刚刚创建的 cookie。
  • 见superuser.com/questions/459426/…。所有浏览器都使用类似的方案。
  • 我已经查过了,我可以在我的硬盘上看到其他网站创建的其他cookie,但是我上面解释的php创建的实际cookie似乎丢失了?!!

标签: google-chrome cookies


【解决方案1】:

答案是因为 Google Chrome 使用 SQLite 文件来保存 cookie。它位于:

C:\Users\<your_username>\AppData\Local\Google\Chrome\User Data\Default\

在Cookies 文件中。 (这是一个 SQLite 数据库文件)

所以它不是存储在硬盘上的文件,而是 SQLite 数据库文件中的一行,可由第三方程序读取,例如:SQLite Database Browser

编辑:感谢@Chexpir,很高兴知道这些值是加密存储的。

【讨论】:

  • 重要的是要添加 cookie 值是加密存储的。
  • 有什么方法可以使用 SQLite 数据库浏览器查看加密的 Cookies 文件?
  • 否,通过 SQListe 数据库浏览器。但您可以使用 Windows 数据保护 API (DPAPI) 来执行此操作。
  • 仅供参考,在 Debian 6 (Squeeze) 中,可以在 ~/.config/chromium/Default 中找到 Cookie 文件
  • Windows 数据保护 API (DPAPI) 是 Windows 中的一些工具吗?如果是这样,攻击者获取文件后能否在另一台计算机上解密?
【解决方案2】:
You can find a solution on SuperUser :

Chrome cookies folder in Windows 7:-

C:\Users\your_username\AppData\Local\Google\Chrome\User Data\Default\
You'll need a program like SQLite Database Browser to read it.

For Mac OS X, the file is located at :-
~/Library/Application Support/Google/Chrome/Default/Cookies

【讨论】:

    【解决方案3】:

    对于 Google chrome 版本 97.0.4692.71 (最新版本),可在 Network 文件夹中找到 cookie。

    有一个名为“Cookies”的文件。

    路径:C:\Users\user_name\AppData\Local\Google\Chrome\User Data\Default\Network

    记得替换用户名。

    【解决方案4】:

    其实地址栏中Chrome cookie的当前浏览路径是: chrome://settings/content/cookies

    【讨论】:

      【解决方案5】:

      在 Windows 上,路径是:

      C:\Users\<current_user>\AppData\Local\Google\Chrome\User Data\<Profile 1>\Cookies(Type:File)
      

      Chrome 不会将每个 cookie 存储在单独的文本文件中。它将所有 cookie 一起存储在配置文件文件夹中的单个文件中。该文件不可读。

      【讨论】:

        【解决方案6】:

        对于 Google chrome 版本 56.0.2924.87 (最新版本),cookie 位于 profile1 文件夹中。

        如果你浏览它,你可以找到各种各样的信息。

        有一个名为“Cookies”的单独文件。 Cache 文件夹也在此文件夹内。

        路径: C:\Users\user_name\AppData\Local\Google\Chrome\User Data\Profile 1

        记得替换user_name。

        对于版本 61.0.3163.100
        小路 : C:\Users\user_name\AppData\Local\Google\Chrome\User Data\Default

        这个文件夹里面有Cookies文件和Cache文件夹。

        【讨论】:

        • “Profile 1”只是一个配置文件目录,对于每个 Chrome 配置文件 cookie 都可以在其配置文件目录中找到:“Profile 2”、“Profile 3”等
        • 如果你在 Windows 上,你可以只使用环境变量 %localappdata% 而不是 "C:\Users\\AppData\Local"。
        【解决方案7】:

        由于过期时间为零(第三个参数,第一个false),cookie 是一个 session cookie,它将在当前会话结束时过期。 (见the setcookie reference)。

        因此它不需要被保存。

        【讨论】:

        • 我用setcookie('name','masoud',time()+3600,'/',false);试过了,但我在硬盘上找不到cookie文件!!
        • @varDumper 你检查浏览器SQLite cookie 数据库了吗? (在之前的评论中关注我的超级用户链接)
        • 感谢您的宝贵时间,是的,我查过了。我知道 chrome 在哪里存储 cookie。正如我上面提到的,我可以看到其他网站创建的所有其他 cookie。但我用 php 脚本创建的实际 cookie 似乎不见了!!
        【解决方案8】:

        Linux 上的 Chromium:它是一个 SQLite3 数据库,位于:

        ~/.config/chromium/Default/Cookies
        

        谷歌浏览器会类似,尝试替换为

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2010-10-20
          • 2016-09-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-04-29
          • 1970-01-01
          相关资源
          最近更新 更多