Chrome浏览器在哪里存储Cookies?

82

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

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

我能在这里看到:

chrome://settings/cookies 

然而,我找不到实际存储在硬盘上的文件。有人能告诉我这个特定的cookie存储在硬盘上的哪里吗?


默认情况下,它是保存在php.ini文件中session.save_path设置所指向的路径中的文件。 - Mark Baker
1
你是否想知道cookie存储在服务器还是浏览器中?因为当你使用 chrome://settings/cookies 时看到的是浏览器中的cookie,它们不知道服务器可能存储了哪些cookie。 - Some programmer dude
1
Cookie是在客户端上吧?所以我想知道它存储在客户端的哪个位置,硬盘上吗@JoachimPileborg。我可以看到其他网站保存在我的硬盘上的cookie,但我找不到我刚刚创建的cookie。 - Kobayashi
请参见http://superuser.com/questions/459426/where-does-chrome-store-its-cookie-file。所有浏览器使用类似的方案。 - Some programmer dude
我已经查过了,我可以看到其他网站创建的cookie存在我的硬盘上,但是如上所述由php创建的实际cookie似乎丢失了?!! - Kobayashi
这正是我感到困惑的地方,因为我正在使用同一台机器作为服务器和客户端(使用本地主机,所以我的机器扮演两个角色,即服务器和客户端)。那么,如果我创建一个cookie,它会存储在机器的硬盘上吗?(因为它既是服务器又是客户端)如果是,那么在哪里?如果不是,那么我怎么能在浏览器设置中看到它呢? - Kobayashi
9个回答

106
答案是因为Google Chrome使用SQLite文件来保存Cookie。它位于以下位置:
C:\Users\<your_username>\AppData\Local\Google\Chrome\User Data\Default\Network

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

因此,它不是存储在硬盘上的文件,而是在SQLite数据库文件中的,可以由第三方程序(如:SQLite Database Browser)读取。

编辑:感谢@Chexpir,还需要知道值是加密存储的。


7
重要的是要添加,cookie值是加密存储的。 - Chexpir
15
可以使用SQLite数据库浏览器查看加密的Cookies文件吗? - whitwhoa
5
在Debian 6(Squeeze)中,Cookie文件位于~/.config/chromium/Default目录下。 - Digger
2
Windows数据保护API(DPAPI)是Windows中的一些工具吗?如果是,攻击者在获取文件后能否在另一台计算机上解密它? - FantomX1
7
他们刚被移动到子文件夹\Default\Network\Cookies。 - pizzaboy
显示剩余5条评论

31

对于Google Chrome Version 97.0.4692.71(最新版本),cookies被发现在网络文件夹中。

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

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

请记得替换user_name。


1
参考资料:https://dfir.blog/cookies-database-moving-in-chrome-96/ - ceprio
注意,如果用户使用 Chrome 配置文件,则 cookie 将存储在 C:\Users\<your_username>\AppData\Local\Google\Chrome\User Data\Profile [n]\Network 中,其中 [n] 是配置文件编号(1、2、3 等)。 - n00b

6

Windows:

C:\Users\<username>\AppData\Local\Google\Chrome\User Data\<profile>\Network\Cookies

您需要像SQLite数据库浏览器这样的程序才能读取它。但请注意,值是使用加密存储的。

macOS:

~/Library/Application Support/Google/Chrome/Default/Cookies

3
实际上,当前在Chrome浏览器地址栏中查看cookies的路径是: chrome://settings/content/cookies

3

在Windows上,路径现在是:

C:\Users\<username>\AppData\Local\Google\Chrome\User Data\<profile name>\Network\Cookies

Chrome不会将每个cookie存储在单独的文本文件中,而是将所有cookie一起存储在一个名为Cookies的SQLite文件中,该文件位于上述配置文件夹中。这些cookie值也以加密方式存储,因此不能直接读取。


2

对于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文件夹。


1
“Profile 1”只是一个配置文件目录,对于每个Chrome配置文件,可以在其配置文件目录中找到cookie:“Profile 2”,“Profile 3”等。 - Sergei Krivosheenko
1
如果您使用的是Windows系统,可以直接使用环境变量%localappdata%,而不是"C:\Users<user_name>\AppData\Local"。 - user2863294

1

如果您想查看Chrome浏览器中某个网站的cookie信息,请打开检查器(按F12),浏览该网站,进入“应用程序/应用”选项卡,在左侧树形结构下方找到“存储/cookie”,其中包含所有信息:

  • cookie变量
  • 内容,长度
  • 过期日期等

1
这是最好的答案。 - Sam

0

在Linux上的Chromium浏览器中,它是一个SQLite3数据库,位于以下位置:

~/.config/chromium/Default/Cookies

Google Chrome将会类似,尝试用

替换


0

由于过期时间为零(第三个参数,第一个 false),该 cookie 是一个 会话 cookie,在当前会话结束时过期。(参见 {{link1:setcookie 参考文献}})。

因此,它不需要被保存。


1
我尝试使用 setcookie('name','masoud',time()+3600,'/',false);,但是我在硬盘上找不到 cookie 文件!! - Kobayashi
@varDumper 你检查过浏览器的 SQLite cookie 数据库了吗?(请查看我之前评论中的 Superuser 链接) - Some programmer dude
谢谢你的时间,伙计。是的,我已经检查过了。我知道Chrome存储Cookie的位置。就像我之前提到的,我可以看到其他网站创建的所有其他Cookie。但是我通过PHP脚本创建的实际Cookie似乎不见了! - Kobayashi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接