jQuery能够读取HTTPONLY cookies吗?

7
有没有办法使用jQuery读取带有HTTPONLY标记的cookie?我有一个名为的cookie。

当我尝试使用以下代码:

$.cookie('wishlist_cookie');

即使已经有值,它也会返回NULL


域名和路径是否与您尝试访问的匹配?您是否正确地包含了 cookie 插件? - Rory McCrossan
@RoryMcCrossan 是的,它匹配,并且网站上的其他几个位置都在使用cookie插件,只是在这个特定的cookie上遇到了问题,并观察发现httponly是问题的原因 :) - Nabil
3个回答

7

HttpOnly cookie是不可用于客户端脚本语言的,因此无法获取和设置它。这里是关于如何通过Javascript设置HttpOnly cookie的链接Set a cookie to HttpOnly via Javascript


1
那就是我在寻找的答案。谢谢。 - Nabil
很高兴能帮助你。 - Lumi Lu

3

简短回答:不可以。

解释:jQuery只是javascript的扩展库。HttpOnly标志告诉我们cookie是否可以被客户端脚本访问/更改,这是一种防御跨站点脚本攻击(XSS)的机制。如果应用程序容易受到XSS注入攻击,攻击者将无法获取一些关键的cookie值,如会话ID。


-2

你可以尝试这种方式

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;

        };

这有什么帮助吗? - Rory McCrossan
尝试使用以下代码:document.cookie.match(new RegExp('wishlist_cookie')); - virender
1
@virender 返回 null。 - Nabil

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接