有没有办法使用jQuery读取带有HTTPONLY标记的cookie?我有一个名为的cookie。
当我尝试使用以下代码:
$.cookie('wishlist_cookie');
即使已经有值,它也会返回NULL
。
当我尝试使用以下代码:
$.cookie('wishlist_cookie');
即使已经有值,它也会返回NULL
。
HttpOnly cookie是不可用于客户端脚本语言的,因此无法获取和设置它。这里是关于如何通过Javascript设置HttpOnly cookie的链接Set a cookie to HttpOnly via Javascript。
简短回答:不可以。
解释:jQuery只是javascript的扩展库。HttpOnly标志告诉我们cookie是否可以被客户端脚本访问/更改,这是一种防御跨站点脚本攻击(XSS)的机制。如果应用程序容易受到XSS注入攻击,攻击者将无法获取一些关键的cookie值,如会话ID。
你可以尝试这种方式
var currentSession = [];
var session = function readCookie() {
match = document.cookie.match(new RegExp('TestCookie' + '=([^;]+)'));
if (match) {
var array = match[1].split('&');
for (var i = 0; i < array.length; i++) {
name = array[i].split('=')[0];
value = array[i].split('=')[1];
currentSession.push(setCokiesValue(name, value));
}
}
return currentSession;
};