后端无法获取cookie中的数据问题

后端无法获取cookie中的数据问题,第1张

页面显示没问题,但就是无法获取cookie或session中的参数。这个问题我一直不知道怎么解决,于是就不管他了。

在一次偶然的机会我又打开了一次并重新输入了URL: >function getCookies() { 

    var showAllCookie = '';

    if(!documentcookie == ''){ 

        var arrCookie = documentcookiesplit('; '); //用spilt('; ')切割所有cookie保存在数组arrCookie中 

        var arrLength = arrCookielength; 

        for(var i=0; i<arrLength; i++) { 

        showAllCookie += 'c_name:' + unescape(arrCookie[i]split('=')[0]) + 'c_value:' + unescape(arrCookie[i]split('=')[1]) + '<br>' 9 

    } 

    return showAllCookie; 

    } 

}

2、通过名称读取cookie

function getCookie(name) 

    var arr,reg=new RegExp("(^| )"+name+"=([^;])(;|$)");

    if(arr=documentcookiematch(reg))

        return unescape(arr[2]); 

    else 

        return null; 

}

1按f12打开控制台。

2在name上点击右键,勾选domain。

3domain和所访问网页域名一样的才行。

4点击域名相同的一个,d出的小窗拉到中间,可以看见cookie的值。

Cookie,有时也用其复数形式Cookies。类型为“小型文本文件”,是某些网站为了辨别用户身份,进行Session跟踪而储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息。

由于安全问题,cookie只能访问对象只能来自同一个域。

所以,你需要将获取cookie的代码放在同一个域。

或者通过修改表头信息来hack到,这种方法麻烦,而且是黑客技术,出于法律相关,我不能向你说更多。

另外,如果你使用的是chrome或者类似的支持插件的浏览器,可以通过contentScript来实现,这是一个大内容。具体可以参考相关的官方文档。

cookie是加密的信息,你获取来意义不大,它的验证方法会把相关信息发到服务器,一旦不符合就不符合了。

获取cookie:在打开的页面使用

返回下面数据:

是一个列表,列表里面是字典,储存着单条COOKie信息

把已有的cookie放入浏览器:

先打开对应的网页

然后删除所有cookie信息

在使用循环写入获取的cookie列表里面的每一项:

然后刷新,即可发现登陆成功

一,业务分析

在分布式系统架构中,假设把上述的三个子系统部署在三个不同的服务器上。前提是用户登录之后才能访问这些子系统。那么使用传统方式,可能会存在这样的问题:

1当访问用户中心,需要用户登录帐号

2当访问购物车,还需要用户登录帐号

3当访问商品结算,又一次需要用户登录帐号

访问每一个子系统都需要用户登录帐号,这样的体验对于用户来说是极差。而使用单点登录就可以很好地解决上述的问题。

二,单点登录

单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO 的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。

我们目前的系统存在诸多子系统,而这些子系统是分别部署在不同的服务器中,那么使用传统方式的 session 是无法解决的,我们需要使用相关的单点登录技术来解决。

第一步 :用户访问应用系统1。过滤器判断用户是否登录,没有登录,则重定向(302)到认证系统去进行认证 *** 作。

第二步 :重定向到认证系统,显示登录界面,用户输入用户名密码。认证系统将用户登录的信息记录到服务器的session中。

第三步 :认证系统给浏览器发送一个特殊的凭证ticket,浏览器将凭证交给应用系统1,应用系统1则拿着浏览器交给他的凭证ticket去认证系统验证凭证ticket是否有效。凭证ticket若是有效,将用户信息保存到应用系统1的session中一份,并告知应用系统1,用户通过认证。

第四步 :用户通过认证,浏览器与网站之间进行正常的访问。

第五步 :当用户再次访问应用系统1,由于应用系统1的session中有用户信息,所以就不用经过认证系统认证,就可以直接访问应用系统1了。

第六步 :当用户再去访问其他应用系统时,浏览器会带着凭证ticket过去,其他应用系统到认证系统验证凭证,凭证ticket若是有效,将用户信息保存到其他应用系统的session中一份,并告知其他应用系统,用户通过认证。

第七步 :用户通过认证,浏览器与网站之间进行正常的访问。

第八步 :当用户再次访问其他应用系统,由于其他应用系统的session中有用户信息,所以就不用经过认证系统认证,就可以直接访问其他应用系统了。

三、Yelu大学研发的CAS(Central Authentication Server)

1什么是CAS?

CAS 是 Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法,CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目。CAS 具有以下特点:

1开源的企业级单点登录解决方案。

2CAS Server 为需要独立部署的 Web 应用。这个CAS框架已经提供

3CAS Client 支持非常多的客户端(这里指单点登录系统中的各个 Web 应用),包括Java, Net, PHP, Perl, Apache, uPortal, Ruby 等。

从结构上看,CAS 包含两个部分: CAS Server 和 CAS Client。CAS Server 需要独立部署,主要负责对用户的认证工作;CAS Client 负责处理对客户端受保护资源的访问请求,需要登录时,重定向到 CAS Server。下图是 CAS 最基本的协议过程:

2CAS的详细登录流程

该图主要描述

1第一次访问>

cookies不一定能获取。Cookies是由网站在用户浏览器中存储的一些数据,用于记录用户的浏览习惯和偏好,以便在以后的访问中提供更好的个性化体验。然而,浏览器可以通过一些设置和插件来阻止某些网站获取cookies,这通常被称为“cookie拦截”,所以不一定都能。

以上就是关于后端无法获取cookie中的数据问题全部的内容,包括:后端无法获取cookie中的数据问题、js 如何读取cookie、e+手机如何获取cookie账号等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/web/9879666.html

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

发表评论

登录后才能评论

评论列表(0条)

保存