管理Cookie和Session
前言
这几天中,一直再跟漏洞打交道,而在这些漏洞中,出现的最多的就是 Cookie 和 Session 了。这篇文章就简单的介绍一些 Cookie 中最常用的四个属性。也算是为后续的文章做一个铺垫吧。
废话不多说,直接进入正题。
属性
- Path(路径)
Path 是指定与 Cookie 关联的 Web 页。它的值可以是一个目录,或者是一个路径。如果 http://www.china.com/test/index.html 建立了一个 cookie,那么在 http://www.china.com/test/ 目录里的所有页面,以及该目录下面任何子目录里的页面都可以访问这个 cookie 。
这就是说,在 http://www.china.com/test/test2/test3 里的任何页面都可以访问 http://www.china.com/test/index.html 建立的 cookie 。
但是,如果 http://www.china.com/test/ 需要访问 http://www.china.com/test/index.html 设置的 cookies,该怎么办?
这时,我们要把 cookies 的 path 属性设置成"/"。在指定路径的时候,凡是来自同一服务器,URL 里有相同路径的所有 WEB 页面都可以共享 cookies
- Domain(域)
Domain 是指定关联的 WEB 服务器或域。它的值是域名,比如 www.china.com 。这是对 path 路径属性的一个延伸。如果我们想让 www.china.com 能够访问 bbs.china.com 设置的 cookies,该怎么办? 我们可以把 Domain 属性设置成"china.com",并把 path 属性设置成"/"。
- Secure(安全)
Secure 是指定 Cookie 的值通过网络如何在用户和 WEB 服务器之间传递。这个属性的值或者是"secure",或者为空。缺省情况下,该属性值为空,也就是使用不安全的HTTP连接传递数据。如果一个 cookie 标记为 secure,那么,它与 WEB 服务器之间就通过 HTTPS 或者其它安全协议传递数据。不过,设置了 secure 属性不代表其他人不能看到你机器本地保存的 cookie 。换句话说,把 cookie 设置为 secure,只保证 cookie 与 WEB 服务器之间的数据传输过程加密,而保存在本地的 cookie 文件并不加密。如果想让本地 cookie 也加密,那就需要自己加密数据了。
- Expires(过期时间)
Expires 是指 Cookie 的生命期,确切地说是过期日期。如果想让 cookie 的存在期限超过当前浏览器的会话时间,就必须使用这个属性。当过了到期日期时,浏览器会自动删除 cookie 文件。