基于安全的考虑,须要给cookie加上Secure和HttpOnly属性,HttpOnly比较好理解,设置HttpOnly=true的cookie不能被js获取到,没法用document.cookie打出cookie的内容。安全
Secure属性是说若是一个cookie被设置了Secure=true,那么这个cookie只能用https协议发送给服务器,用http协议是不发送的。换句话说,cookie是在https的状况下建立的,并且他的Secure=true,那么以后你一直用https访问其余的页面(好比登陆以后点击其余子页面),cookie会被发送到服务器,你无需从新登陆就能够跳转到其余页面。可是若是这是你把url改为http协议访问其余页面,你就须要从新登陆了,由于这个cookie不能在http协议中发送。服务器
例子是:cookie
前提条件:https://localhost:9102应用对cookie设置了Secure=truedom
1. 访问 https://localhost:9102/managerurl
2. 输入用户名、密码,用IE或者Chrome的developer tool会看到response的header里,set-cookie的值里有Secure属性登录
3. 登陆后,继续访问https://localhost:9102/manager#user,能够正常看到内容密码
4. 修改url,访问http://localhost:9100/manager#domain,会跳转到登陆页面,由于cookie在http协议下不发送给服务器,服务器要求用户从新登陆developer