Cookie主要属性
Cookie主要属性:
- path
- domain
- max-age
- expires:是expires的补充,现阶段有兼容性问题:IE低版本不支持,所以一般不单独使用
- secure
- httponly
- JS不能读写HttpOnly Cookie
- 属性之间使用英文分号和空格("; ")连接
浏览器存放cookie包含的字段:
- name、value
- expiry-time:由Cookie中的expires和max-age产生
- domain、path
- creation-time、last-access-time
- persistent-flag:持久化标记,默认为false,表示是session cookie
- secure-only-flag
- http-only-flag
- host-only-flag:Cookie中不包含Domain属性或者Domain为空或者不合法时为true。
HttpOnly属性——防止程序获取cookie后进行攻击
- 如果Cookie中设置了HttpOnlhy属性,那么通过程序(JS脚本、Applet等)将无法读取到Cookie信息,能有效的防止XSS攻击。
Secure——防止信息传输过程中的泄露
- true —— 只能在HTTPS连接中传输,HTTP连接不会传输,所以不会被窃取到Cookie的具体内容
- false —— HTTP、HTTPS连接都可以传输
domain域名带.与否的区别
- 若domain不带点,只有当前域名的服务器可以获取到cookie,子域名拿不到cookie
- 若domain带点,当前域名&子域名都可以拿到cookie
- Chrome——如果显示声明,不管domain带不带点,都是带点存储;只有非显示声明domain的cookie,浏览器存储才是不带点
Session Cookie
- Session Cookie是没有expiry date的,会话结束也会一并删除。