首页 > 编程知识 正文

js跨域读写cookie,JavaScript 跨域

时间:2023-12-27 22:27:23 阅读:325971 作者:XKXR

本文目录一览:

如何用js实现跨域获取cookie

正常情况下,浏览器禁止跨域获取cookie

一般通过sso服务可以实现取得跨域cookie,思路如下:

域A页面访问位于域A的服务器,对权限进行验证

域A服务器于域B服务器通信,记录一个唯一的加密串用作身份验证域(并将cookie信息发送给域B服务器)

域A服务器返回302跳转,跳转到域B下,并将加密串作为url的一部分

页面由域A跳转到域B,域B服务器通过加密串获取到事先从域A服务器上得到的cookie信息,并在响应头中添加set-cookie字段设置cookie

怎么用js跨域读到iframe里的cookie

第一种很简单:

将系统B设置为可信站点。

第二种:

IE设置隐私策略:在Internet选项-隐私-高级,将“替代自动cookie处理”的选项打上,并“第一方cookie”和“第三方cookie” 都设置为 接受;如下图:

第三种:

在response的head上增加p3p协议;

java: 增加一个filter ,在 doFilter 部分:

Java代码

代码如下 复制代码

HttpServletResponse res = (HttpServletResponse) response;

res.setHeader(“P3P”,”CP=CAO PSA OUR”);

js能读取跨域的cookie吗

正常情况下,浏览器禁止跨域获取cookie

一般通过sso服务可以实现取得跨域cookie,思路如下:

域A页面访问位于域A的服务器,对权限进行验证

域A服务器于域B服务器通信,记录一个唯一的加密串用作身份验证域(并将cookie信息发送给域B服务器)

域A服务器返回302跳转,跳转到域B下,并将加密串作为url的一部分

页面由域A跳转到域B,域B服务器通过加密串获取到事先从域A服务器上得到的cookie信息,并在响应头中添加set-cookie字段设置cookie

js控制cookie跨域

例:a.b.com和c.b.com两个站,建立方式如下: a.b.com站下建a.html。关键代码如下: script type="text/javascript" function setCookie(c_name,value,expiredays) { var exdate=new Date(); exdate.setDate(exdate.getDate()+expiredays); alert(exdate.getDate()+expiredays); document.cookie=c_name+ "=" +escape(value)+((expiredays==null) ? "" : ";expires="+exdate.toGMTString())+";path=/;domain=b.com"; } window.onload=function(){ setCookie("listallwjh","sfwjh"); alert("Cookie设置成功!"); } /script c.b.com站下建a.html。关键代码如下 script function getCookie(c_name) { if (document.cookie.length0) { c_start=document.cookie.indexOf(c_name + "="); if (c_start!=-1) { c_start=c_start + c_name.length+1 ; c_end=document.cookie.indexOf(";",c_start); if (c_end==-1) c_end=document.cookie.length; return unescape(document.cookie.substring(c_start,c_end)); } } return ""; } window.onload=function(){ var c_name="listallwjh"; if(getCookie("listallwjh")!=null){ alert(getCookie("listallwjh")); } } /script 这两个一个也面是设置,一个是取,只要保证两个规则一样,就行。运行,结果:OK! 注:这两个方法有时候也可以写在一起,先判断cookie是否存在,在创建

js本地能写入别的域名下的cookie吗

首先在游览器中,跨域是不能操作cookie的,例如a.com是无法写入到b.com中的,更何况本地了,不过,也是有类似的解决方案的:

不过,以上前提是a.com和b.com都是在自己可控的情况下,比如你是example.com,但你想写入baidu.com,由于baidu.com不是你所能控制的,所以是不行的。

【以上资料来自网络】

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。