cookie的secure属性详解

 更新时间:2015年04月08日 11:00:23   投稿:hebedich  
Set-Cookie 的 secure 属性就是处理这方面的情况用的,它表示创建的 cookie 只能在 HTTPS 连接中被浏览器传递到服务器端进行会话验证,如果是 HTTP 连接则不会传递该信息,所以绝对不会被窃听到。

今天做项目的时候涉及到了cookie跨域传递的问题,也因此了解了cookie的一个属性——secure。

顾名思义,这个属性就是用来保证cookie的安全的。

当secure属性设置为true时,cookie只有在https协议下才能上传到服务器,而在http协议下是没法上传的,所以也不会被窃听。

简单实践一下,chrome浏览器打开https://www.baidu.comhttp://www.baidu.com,分别打开控制台(下文称https页面中的控制台为console1,http的成为console2)

1. 先在console1中输入以下代码

document.cookie = "name=EX;expires=60*24*7;secure=true";
接着,打开Resources,就可以看到cookie中已经记录了相应的字段

2. 在console2中进行同样的操作,这时去看看http协议下百度页面的Resources,就会发现,name字段并没有上传到服务器

3. 那如果我把secure设为false呢?

以本文百度这个为例,设为false的结果就是无论你在哪个协议下的百度页面设cookie,那么两边的百度页面的cookie中都可以看到该字段。

也就实现了cookie的跨协议传递,但同时就存在了一定几率的被窃听的风险。

以上所述就是本文的全部内容了,希望能够给大家学习cookie有所帮助。

相关文章

  • 深入分析Cookie的安全性问题

    深入分析Cookie的安全性问题

    本文主要是结合自己的经验,给大家分析了一下Cookie的安全性问题,以及Cookie截获的手段,推荐给小伙伴们参考下。
    2015-03-03
  • 获取IE浏览器Cookie信息的方法

    获取IE浏览器Cookie信息的方法

    下面小编就为大家带来一篇获取IE浏览器Cookie信息的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • cookie的secure属性详解

    cookie的secure属性详解

    Set-Cookie 的 secure 属性就是处理这方面的情况用的,它表示创建的 cookie 只能在 HTTPS 连接中被浏览器传递到服务器端进行会话验证,如果是 HTTP 连接则不会传递该信息,所以绝对不会被窃听到。
    2015-04-04

最新评论