标签:存在 ace opd 包含 httponly tps 安全设置 黑客 style
一、背景
cookie作为浏览器端存储客户相关信息的重要载体,在为我们开发提供方便的同时,也埋下了一些安全隐患。如果在使用过程中不注意,就有可能被图谋不轨者利用起来,造成安全事故。
二、cookie的同源策略
浏览器每次发送请求时,会根据请求的地址,来判断自身是否存储了符合同源策略的cookie,如果有,则会将cookie一起发送给服务端。
所谓同源判断,是指:
假设某个cookie名为test,
设置的domain为 :
.cnblogs.com
设置的path为:
/pathtest
那么,能够访问到该cookie的服务地址为:
cnblogs.com
i.cnblogs.com 等子域
同时,访问的路径必须为:
/pathtest/* 等子路径
超出这个范围的路径与域名,浏览器在发送请求时,是不会cookie-test发送出去的。
三、cookie的属性安全设置
1、设置secrue属性为true
在设置了该属性后,浏览器只会对于https的请求带上cookie,而http请求是不会带上cookie信息的。如果cookie中存在敏感信息,那么就很有必要设置该属性,这样即便cookie被中间人窃取了,也不会泄露明文信息。
2、设置httponly属性为true
通过设置该属性,cookie将不可被js脚本读取,从而无法在客户端泄露出cookie。不过对于服务端,我们也需要禁止回应 http trace方法,否则黑客还是可以通过该途径窃取cookie(该方法常用来debug,服务端会将收到的请求原封不动的回复给客户端,自然也包含了cookie信息)
3、设置samesite 属性
由Chrome51版本只会浏览器在支持,通过该属性,可以防止不同domain下的请求带上原网址的cookie,它的可选值为:
strict 、lax、none
当设置为strict时,只有当前网页地址与cookie的设定完全一致时,才会发送cookie ,也就是说,如果我在B网站,哪怕是直接点击了某个链接到A网站的地址,这时候浏览器向A发送请求时,是不会带上cookie的,这样,能够有效的预防CSRF攻击。
当设置为 lax 的时候,能够允许get请求中带上cookie,但是post是不行的。
4、设置HostOnly属性为true
通过该属性,可以设置cookie是否可以被子域所共享。
参考链接:
cookie的同源策略与作用域:https://www.cnblogs.com/liaojie970/p/7606168.html
cookie安全属性:https://techblog.topdesk.com/security/cookie-security/
标签:存在 ace opd 包含 httponly tps 安全设置 黑客 style
原文地址:https://www.cnblogs.com/shuhe-nd/p/13376260.html