羊蹓狼 发表于 2024-8-5 10:07:59

Cookie实现原理、安全处置惩罚和使用案例

name 字段为一个 cookie 的名称。
value 字段为一个 cookie 的值。
domain 字段为可以访问此 cookie 的域名。


[*]非顶级域名,如二级域名大概三级域名,设置的 cookie 的 domain 只能为顶级域名大概
二级域名大概三级域名自己,不能设置其他二级域名的 cookie,否则 cookie 无法天生。
顶级域名只能设置 domain 为顶级域名,不能设置为二级域名大概三级域名,否则 cookie
无法天生。
[*]二级域名能读取设置了 domain 为顶级域名大概自身的 cookie,不能读取其他二级域名
domain 的 cookie。以是要想 cookie 在多个二级域名中共享,需要设置 domain 为顶级域
名,这样就可以在全部二级域名内里大概到这个 cookie 的值了。
顶级域名只能获取到 domain 设置为顶级域名的 cookie,其他 domain 设置为二级域名的
无法获取。
path 字段为可以访问此 cookie 的页面路径。 比如 domain 是 abc.com,path 是/test,那么只
有/test 路径下的页面可以读取此 cookie。
expires/Max-Age 字段为此 cookie 超时时间。若设置其值为一个时间,那么当到达此时间
后,此 cookie 失效。不设置的话默认值是 Session,意思是 cookie 会和 session 一起失效。
   当欣赏器关闭(不是欣赏器标签页,而是整个欣赏器) 后,此 cookie 失效。
Size 字段 此 cookie 巨细。
http字段 cookie的httponly属性。若此属性为true,则只有在http请求头中会带有此cookie
的信息,而不能通过 document.cookie 来访问此 cookie。
secure 字段 设置是否只能通过 https 来传递此条 cookie
Cookie的实现原理

Cookie是一种客户端会话技能,它答应服务器在用户的当地欣赏器存储数据。这些数据被存储为键值对,并且可以包含一些属性来控制Cookie的活动。Cookie主要用于以下目的:

[*]会话状态管理:如用户登录状态、购物车等。
[*]个性化设置:如用户偏好、主题等。
[*]欣赏器活动跟踪:用于分析用户活动。
HTTP协议自己是无状态的,但通过Cookie,服务器能够识别并保持与客户端的会话状态。当用户访问一个支持Cookie的网站时,服务器可以发送一个Set-Cookie响应头,欣赏器吸收后会将Cookie保存起来,并在之后对该服务器的每次请求中,通过请求头中的Cookie字段发送给服务器。
安全处置惩罚

由于Cookie存储在客户端,它们大概会被篡改或读取,因此安全处置惩罚非常告急:

[*]HTTPS:使用HTTPS协议确保Cookie在传输过程中的安全。
[*]HttpOnly属性:设置HttpOnly属性可以防止Cookie通过JavaScript读取,减少XSS攻击的风险。
[*]Secure属性:设置Secure属性确保Cookie只在HTTPS连接中传输。
[*]SameSite属性:该属性可以设置为Strict或Lax,以减少跨站请求伪造(CSRF)攻击的风险。
[*]避免敏感信息泄露:不要在Cookie中存储敏感信息,如暗码或个人信息。
[*]设置合适的Domain和Path:限制Cookie的作用域,避免不必要的Cookie传输。
使用案例

以下是一些使用Cookie的常见案例:

[*] 自动添补登录框:如京东网站,登录后欣赏器会存储用户名的Cookie,当用户再次访问登录页面时,用户名会被自动添补。
[*] 会话管理:服务器发送包含用户会话标识的Cookie,之后用户的每次请求都会携带这个标识,服务器通过这个标识管理用户的会话状态。
[*] 个性化设置:网站可以根据用户存储在Cookie中的偏好设置,调解网站界面或内容,如主题、语言等。
[*] 购物车实现:电商平台使用Cookie来追踪用户的购物车内容,纵然用户关闭欣赏器后再次访问,购物车内容依然存在。
[*] 用户跟踪:网站可以使用Cookie来跟踪用户的访问活动,如访问页面、停顿时间等,用于分析和优化用户体验。
[*] 安全性实现:例如在Express框架中,使用cookie-parser中心件来解析请求中的Cookie,并安全地设置新的Cookie。
[*] 跨域Cookie共享:通过设置合适的Domain属性,可以实现子域名间的Cookie共享,但需要注意安全风险。
[*] Cookie有用期管理:通过设置Expires或Max-Age属性,可以控制Cookie的生命周期,如会话结束时删除或设置一个具体的逾期时间。
通过公道使用和管理Cookie,可以提拔用户体验并增强应用程序的功能性,但同时也要注意掩护用户的隐私和数据安全。
我的博客只写前端博文,点击我去看更多喜好的前端博文,欢迎大家一起讨论学习!【https://blog.csdn.net/qq_29101285?spm=1011.2266.3001.5343】


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Cookie实现原理、安全处置惩罚和使用案例