Cookie弊端详解
1.Cookie有数量和长度的限制
每个domain最多只能有20条cookie,每个cookie的长度不能超过4KB,超出的部分会被截掉。
2.cookie的安全性问题
cookie一般用来记录用户的账号和密码,通常经过加密后在网上传递,即使被一些不法分子截获,他们也看不懂经过加密后的cookie信息。但是,cookie一旦被截获,他们不需要去了解cookie含义是什么,只需要将cookie向服务器提交,就可以冒充受害人的身份登录网站。
那么如何尽量避免cookie欺骗呢?
-
设置cookie的有效期不要过长,设置一个合适的有效期即可。
-
设置HttpOnly为true,防止js脚本读取cookie信息。
(HttpOnly是包含在Set-Cookie HTTP响应头文件中的附加标志。生成cookie时使用HttpOnly标志有助于降低客户端脚本访问受保护cookie的风险(如果浏览器支持)。)
-
设置复杂的cookie,加密cookie。
-
如何网站支持https,尽可能使用https,即为cookie设置Secure属性为true。
-
每次请求,都去将当前cookie和ip组合起来加密后的token与保存的token作对比,只有完全对应才能验证成功。
3.cookie会被附加在每个http请求中,非常浪费流量
如果静态文件都放在主域名下,那静态文件请求的时候带有的cookie的数据就会提交给server,所以这样是非常浪费流量的。
cookie隔离
那么怎么解决这种问题呢?利用的是cookie不能跨域提交请求的特性。通过使用多个非主要域名来请求静态文件,请求头中就不会带有cookie数据。