Cookie的HttpOnly、secure、domain属性

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的,会话结束也会一并删除。
上一篇:Java开发中经典的小实例-(随机产生验证码)


下一篇:Cookie的Domain属性