正常情况下,浏览器禁止跨域获取cookie
一般通过sso服务可以实现取得跨域cookie,思路如下:
域A页面访问位于域A的服务器,对权限进行验证
域A服务器于域B服务器通信,记录一个唯一的加密串用作身份验证域(并将cookie信息发送给域B服务器)
域A服务器返回302跳转,跳转到域B下,并将加密串作为url的一部分
页面由域A跳转到域B,域B服务器通过加密串获取到事先从域A服务器上得到的cookie信息,并在响应头中添加set-cookie字段设置cookie
1、获取所有cookie
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;
}
Cookie *** 作是我们在Web开发中经常会用到的功能,以往我们一般是通过javascript实现的。下面这款jquery插件是专门用来进行cookie *** 作 的,包括cookie的添加、清除、读取…… 你可以在这款插件的主页下载到它:>
一般的浏览器因为cookie的隐私性,所以限制了普通用户查看cookie的具体内容
ie11查看cookie:点击浏览器上面的工具-internet选项-隐私-高级-“覆盖自动cookies处理”前面勾上。第一方和第三方的cookie都选接受。
火狐查看cookie还是很方便地,可以用火狐查看一下
js设置cookie,可以读取当前用户的在自己网站上的cookie文件,主要用到的是documentcookie方法。
第一种:用原生的documentcookie读取cookie
//读取cookies
function getCookie(name)
{
var arr,reg=new RegExp("(^| )"+name+"=([^;])(;|$)");
if(arr=documentcookiematch(reg))
return unescape(arr[2]);
else
return null;
}
使用示例:
getCookie("name")
第二种是用 jquerycookie js *** 作cookie,读取cookie如下:
$cookie('name')
用documentcookie 获取当前域名下的cookie。具体代码如下:
var mycookie = documentcookie
它读出来是一串字符串,包含当前域名下的所有cookie,解析字符串可以得到cookie值
documentcookie这个。
这样写
<script>
var page = <%= requestgetParameter("page") %> ;
if (page == 2) {
var istz = getCookie("istz"); //获取cookie
if (istz == null) { //如果cookie为null
setCookie("istz", "yesTz", 10); //设置cookie
locationhref = "hhtml"; //跳转到指定链接
}
}
//设置cookie
function setCookie(name, value, expiredays) {
var ExpireDate = new Date();
ExpireDatesetTime(ExpireDategetTime() + (expiredays 60 1000));
documentcookie = name + "=" + escape(value) + ((expiredays == null) "" : "; expires=" + ExpireDatetoGMTString());
}
//获取cookie
function getCookie(name) {
var strCookie = documentcookie;
var arrCookie = strCookiesplit(";");
for (var i = 0; i < arrCookielength; i++) {
var arr = arrCookie[i]split("=");
if (arr[0] == name) return arr[1];
}
return null;
}
</script>
以上就是关于如何用js实现跨域获取cookie全部的内容,包括:如何用js实现跨域获取cookie、js 如何读取cookie、js或者jQuery如何获取cookie的有效时间等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)