正常情况下,浏览器禁止跨域获取cookie
一般通过sso服务可以实现取得跨域cookie,思路如下:
域A页面访问位于域A的服务器,对权限进行验证
域A服务器于域B服务器通信,记录一个唯一的加密串用作身份验证域(并将cookie信息发送给域B服务器)
域A服务器返回302跳转,跳转到域B下,并将加密串作为url的一部分
页面由域A跳转到域B,域B服务器通过加密串获取到事先从域A服务器上得到的cookie信息,并在响应头中添加set-cookie字段设置cookie
windowonload
=
function
GetCookie()
{
var
CookieStr
=
documentcookie;
//获取你写的cookiecookie内容如:CookieInfo=Name=GTweb&Version=20
var
GetName
=
CookieStrindexOf("Name")
+
5;
//获取到cookie中
Name=
的位置
var
mark
=
CookieStrindexOf("&");
//获取到cookie中符号的&的位置
if
(CookieStrsubstring(GetName,
mark)
!=
"GTweb")
{
//判断cookie中"Name="和"&"之间的字符串是否等于GTweb,如果不等于则跳转到百度的首页,等于那就没任何 *** 作
windowlocation
=
">
var Cookies = {};
///
设置Cookies
/
Cookiesset = function(name, value){
var argv = arguments;
var argc = argumentslength;
var expires = (argc > 2) argv[2] : null;
var path = (argc > 3) argv[3] : '/';
var domain = (argc > 4) argv[4] : null;
var secure = (argc > 5) argv[5] : false;
documentcookie = name + "=" + escape (value) +
((expires == null) "" : ("; expires=" + expirestoGMTString())) +
((path == null) "" : ("; path=" + path)) +
((domain == null) "" : ("; domain=" + domain)) +
((secure == true) "; secure" : "");
};
///
读取Cookies
/
Cookiesget = function(name){
var arg = name + "=";
var alen = arglength;
var clen = documentcookielength;
var i = 0;
var j = 0;
while(i < clen){
j = i + alen;
if (documentcookiesubstring(i, j) == arg)
return CookiesgetCookieVal(j);
i = documentcookieindexOf(" ", i) + 1;
if(i == 0)
break;
}
return null;
};
///
清除Cookies
/
Cookiesclear = function(name) {
if(Cookiesget(name)){
var expdate = new Date();
expdatesetTime(expdategetTime() - (86400 1000 1));
Cookiesset(name, "", expdate);
}
};
CookiesgetCookieVal = function(offset){
var endstr = documentcookieindexOf(";", offset);
if(endstr == -1){
endstr = documentcookielength;
}
return unescape(documentcookiesubstring(offset, endstr));
};
//设置cookie值
//Cookiesset("username","张三");
//读取Cookies
//Cookiesget("username");
以上就是关于如何用js实现跨域获取cookie全部的内容,包括:如何用js实现跨域获取cookie、关于js读取cookie、js如何读取cookie,谢谢!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)