首页 » Windows » 正文

IE/Firefox/Chrome浏览器之Cookie存储

Cookie简介

Cookie,在互联网中,通常作为一系列的数据存放在网络服务客户端/浏览器中,用于网站对用户身份的识别和确认,以及关键数据的存储。

Cookie总是保存在客户端中,按在客户端中的存储位置,可分为内存Cookie和硬盘Cookie。

内存Cookie由浏览器维护,保存在内存中,浏览器关闭后就消失了,其存在时间是短暂的。硬盘Cookie保存在硬盘里,有一个过期时间,除非用户手工清理或到了过期时间,硬盘Cookie不会被删除,其存在时间是长期的。

本文主讲硬盘Cookie。

硬盘Cookie的存储

IE浏览器中Cookie采用txt文件存储,是明文的。其结构为:

Line Summary
1 The Variable Name
2 The Value for the Variable
3 The Website of the Cookie’s Owner
4 Optional Flags
5 The Most Significant Integer for Expired Time, in FILETIME Format
6 The Least Significant Integer for Expired Time, in FILETIME Format
7 The Most Significant Integer for Creation Time, in FILETIME Format
8 The Least Significant Integer for Creation Time, in FILETIME Format
9 The Cookie Record Delimiter (a * character)

物理地址位于 %APPDATA%\Microsoft\Windows\Cookies\ 目录下,xxx.txt格式的文件。

而 打开 %LOCALAPPDATA%\Microsoft\Windows\Temporary Internet Files ,会在里面发现形如 Cookie:liuda@liuda.im/ 的文件,其属性可以看到对应cookie缓存文件名。

Firefox 浏览器中Cookie采用sqlite数据库存储。

物理位置位于  %APPDATA%\Mozilla\Firefox\Profiles\dz5qpcn9.default\ 目录下(其中dz5qpcn9是随机的字符串)的 cookies.sqlite 文件。

Chrome 浏览器也采用Sqlite进行存储。

物理位置 %LOCALAPPDATA%\Google\Chrome\User Data\Default\  目录下 Cookie文件。

Cookie导入导出

IE浏览器

文件>导入和导出…>

可将Cookie导出为cookie.txt或激昂cooke.txt 导入到IE浏览器中。

cookie.txt 文件按行存储cookie :

形如

.netscape.com     TRUE   /  FALSE  946684799   NETSCAPE_ID  100103

从左到右各个字符串的含义如下:

domain - The domain that created AND that can read the variable.
flag - A TRUE/FALSE value indicating if all machines within a given domain can access the variable. This value is set automatically by the browser, depending on the value you set for domain.
path - The path within the domain that the variable is valid for.
secure - A TRUE/FALSE value indicating if a secure connection with the domain is needed to access the variable.
expiration - The UNIX time that the variable will expire on. UNIX time is defined as the number of seconds since Jan 1, 1970 00:00:00 GMT.
name - The name of the variable.
value - The value of the variable.

Firefox 浏览器

尝试用桌面版的SqliteManager打开数据库文件cookie.sqlite,结果打开并没有数据,应该是加密了。

后来用Firefox附加组件SQLite Manager 打开cookie.sqlite,惊讶的发现所有的cookie可以显示了。

使用该组件即可对cookie进行编辑,以及导入导出。

Chrome浏览器

使用Chrome扩展程序 EditThisCookie 可以非常方便的实时编辑网站cookie,并支持将cookie导入导出为json等各种格式。

Cookie 的操作

除了浏览器工具外 ,js php等皆可对cookie进行操作,这属于网站建设部分,本文不表。

参考链接:

https://zh.wikipedia.org/wiki/Cookie

http://www.cookiecentral.com/faq/#3.5

http://smilejay.com/2013/04/browser-cookie-location/

http://blog.csdn.net/lixianlin/article/details/2738229

 

发表评论