|  在技术加营销的道路上越走越远
温馨提示
我是弹窗内容
当前位置:首页 > PHP经验积累 > 关于Cookie八个属性的详解
关于Cookie八个属性的详解

关于Cookie八个属性的详解

日期:2021-08-19 浏览量:2730 原创作者:湖八爷
Cookie是我们平时用的最多地一个客户端和服务端交互的对象,本文主要是分享和记录一下关于Cookie对象的一些常用属性的具体意思。


一,name属性。

就是字面意思,cookie的名称。



二,Value属性。

同样是字面意思,就是cookie的值。



三,Expires属性。

Cookie的expires属性指定浏览器可发送Cookie的有效期,Expires是该Cookie被删除时的时间戳。当省略expires属性时,Cookie仅在浏览器关闭之前有效。

另外,一旦Cookie从服务器端发送至客户端,服务器端就不存在可以显式删除Cookie的方法。但可通过覆盖已过期的Cookie,实现对客户端Cookie 的实质性删除操作。



四,Size属性。

还是字面意思,就是Cookie的大小。各个浏览器多Cookie的大小和条数限制不一样,但是最大值都不会超过4KB。


各个浏览器对Cookie的最大值和最大数目有不同的限制.png



五,Path属性。

Cookie的path属性可用于限制指定Cookie的发送范围的文件目录。

不过另有办法可避开这项限制,看来对其作为安全机制的效果不能抱有期待。



六,Domain属性。

通过Cookie的domain属性指定的域名可做到与结尾匹配一致。

比如,当指定http://example.com后,除http://example.com以外,Example Domain或www2.example.com等都可以发送Cookie。

因此,除了针对具体指定的多个域名发送Cookie之外,不指定domain属性显得更安全。



七,Secure属性。

Secure为Cookie的安全属性,若设置为true,则浏览器只会在HTTPS和SSL等安全协议中传输此Cookie,不会在不安全的HTTP协议中传输此Cookie。



八,HttpOnly属性。

Cookie 的HttpOnly 属性是Cookie 的扩展功能,它使JavaScript 脚本无法获得Cookie。其主要目的为防止跨站脚本攻击(Cross-sitescripting,XSS)对Cookie的信息窃取。

通常从Web页面内还可以对Cookie进行读取操作。但使用JavaScript的document.cookie就无法读取附加HttpOnly属性后的Cookie的内容了。因此,也就无法在XSS中利用JavaScript劫持Cookie了。

虽然是独立的扩展功能,但Internet Explorer 6 SP1 以上版本等当下的主流浏览器都已经支持该扩展了。另外顺带一提,该扩展并非是为了防止XSS而开发的。