关于前后端写入Cookie时domain的一个问题

关于前后端写入Cookie时domain的一个问题,第1张

先假设有如下setCookie方法:

假设当前域名为blogxiaomingcom,经测试发现,JS在写入cookie时:

结果:

说明:

另外发现,xiaomingcom下的cookie会出现在blogxiaomingcom页面(也就是说可以被下级域名正确获取到),但是,xiaomingcom下的cookie不会出现在它的子域名页面!这个是以前没有注意的!

所以特别注意:

以Java为例:

经测试同样存在和前端一样的问题:不传domain则默认当前域名,传了则强制在前面加一个。

个人觉得就写cookie这个 *** 作执行完成的结果来看,是一样的,最终的结果都是在在客户端生成了cookie

两者的区别是,js直接就生成了cookie,而不需要经过服务器,而服务器端写的cookie则必须要经过服务器

关键词: cookie 安全性 GDPR

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

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

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

主要包括server、expires、name、value、secure、>

因为CORS的出现,大大降低了跨域的难度,另到AJAX有了更大的发挥空间,也导致了前后端更加容易实现。但是今天在实现前后端的时候发现了一个问题。 在进行session会话管理的时候,前端无法发送cookie到后端,前端每次访问后端都相当于一次新的会话,这样就导致登录后的信息是无法保存的。客户端每一次访问都需要重新登录。

对于前端来说,seesion字段是存在cookie中的。在跨域过程中,Cookie是默认不发送的。就算后端返回set-Cookie字段,前端也不会保存Cookie,更不会在下一次访问的时候发送到后端了。

因此只要前端可以把cookie发送到后端,后端就可以根据cookie拿到seeion字段进行会话验证。

进过重新对CORS的学习,只要通过3步,就可以让会话保持。

在ajax中设置,withCredentials: true。

例如:

服务端的 Access-Control-Allow-Origin 不可以设置为"",必须指定明确的、与请求网页一致的域名

服务端的 Access-Control-Allow-Credentials: true ,代表服务器接受Cookie和>

以上就是关于关于前后端写入Cookie时domain的一个问题全部的内容,包括:关于前后端写入Cookie时domain的一个问题、前台 *** 作cookie和后台 *** 作有区别吗、关于Cookie的一些思考和理解等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9792698.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存