关于Cookie的一些思考和理解

 我来答
世纪网络17
2022-07-28 · TA获得超过5952个赞
知道小有建树答主
回答量:2426
采纳率:100%
帮助的人:143万
展开全部
关键词: cookie 安全性 GDPR

Cookie,是站点为了访客的一些信息来区分用户(Identifier)或者传递信息,特别是在big data的现在,更有利于站点site对用户行为和地区倾向进行大数据分析,也可以为推荐系统做前期的基础数据训练集。

一般存在浏览器目录中的文本文件中

前面我们说了Cookie一般存在浏览器目录中的文本文件中,并且会根据domain分开存放,比如,当你输入jianshu.com的时候,浏览器会向jianshu发送一个request,然后server根据request来返回response,把结果在显示器中显示,当你发送这个request的时候,浏览器会寻找当前浏览器目录中是否存在jianshu.com的相关cookie,如果有,浏览器会把Cookie文件中的数据放在request header中一起向server发送,服务器收到Cookie数据,服务器会根据你的cookie信息做一些相应的处理,比如第一次访问的话,会为你创建一个新的session id,否者来检测你是否需重新登录等等操作。

主要包括server、expires、name、value、secure、httpOnly、path,其中服务器只想知道name和value字段,其余的字段有的为了存储,有的为了安全性

比如在chrome下打开 jianshu.com ,F12 -> Application -> Cookies -> https://www.jianshu.com

分为两种:第一种在前端对cookie进行操作,以chrome为例子,可以直接在console里边对cookie进行修改,例如我们将 default_font 改成 Simplified (当然这只是举个例子,至于修改完重新发送请求到jianshu server之后会不会有作用,这个取决于jianshu server),F12 -> Console,输入:

注意:name、domain、path一定要对应正确,这里的cookie domain为 www.jianshu.com ,所以不需要显式设置,结果如下:

第二种是后端服务器操作,可以直接在response上面进行操作,你可以直接抹掉某个cookie

这个时候回来的response header就不会带default_font这个cookie了
也可以修改已存在的cookie过期时间或者加入新的cookie,nodejs的application可以使用cookie.js

这个时候浏览器就会接受到一个包含cookie为my_cookie=my_value,并且过期时间为一个星期的response。

首先可能有两个问题
注意一下domain和path,必须完全对应可以设置,比如你要修改某一个cookie,修改的时候必须指定与其一样的domain和path才可以生效,否者不生效,另外,当前域不可以写其他域的cookie,子域名除外。

既然cookie这么容易修改,毕竟cookie输入个人信息,容易获取,就容易被利用,那么我们自然而然会想到安全性问题,这里我能想到的有四种方式,在 后端服务器 对cookie进行适当的处理,可以提高cookie的安全性:

** 文章所有步骤都是经过实践检验并可行,若有问题,下方请评论。

——END——
作者 : Eason ,专注各种技术、平台、集成,不满现状,喜欢改改改
文章、技术合作
Email : eason.lau02@hotmail.com
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
亚远景信息科技
2024-12-11 广告
上海亚远景信息科技有限公司是国内汽车行业咨询及评估领军机构之一,深耕于ASPICE、敏捷SPICE、ISO26262功能安全、ISO21434车辆网络安全领域,拥有20年以上的行业经验,专精于培训、咨询及评估服务,广受全球车厂及供应商赞誉,... 点击进入详情页
本回答由亚远景信息科技提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式