如何从Javascript获取cookie?
如何通过js代码访问此“Cookies”? 它们不存在于document.cookie对象中(为空)如何从Javascript获取cookie?,javascript,google-chrome,http,cookies,Javascript,Google Chrome,Http,Cookies,如何通过js代码访问此“Cookies”? 它们不存在于document.cookie对象中(为空) 你试过简单的方法吗: var x = document.cookie; 或者您可以创建以下函数来访问特定的cookie function getCookie(cname) { var name = cname + "="; var decodedCookie = decodeURIComponent(document.cookie); var c
你试过简单的方法吗:
var x = document.cookie;
或者您可以创建以下函数来访问特定的cookie
function getCookie(cname) {
var name = cname + "=";
var decodedCookie = decodeURIComponent(document.cookie);
var ca = decodedCookie.split(';');
for(var i = 0; i <ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return "";
}
或者如果您有一个安全的cookie(HTTPOnly cookie)
转到此线程:如果cookie标记为HTTPOnly,它将不会出现在
文档中。cookie
。属性HTTPOnly旨在防止XSS攻击窃取您的cookie。因此,您无法仅从Javascript访问标记为HTTPOnly的cookie
看看屏幕截图,第一块饼干似乎符合这个条件。我假设其他cookie属于不同的域(可能是由于页面上的Iframe),因此它们可能不会出现在document.cookie上,除非您将上下文切换到特定的Iframe
参考资料:
HTTPOnly cookie属性可以阻止通过Javascript访问cookie值,从而有助于减轻这种(XSS)攻击
此外,您还可以在此处的“Cookie窃取和XSS”部分中了解更多信息:的可能副本的可能副本如果Cookie标记为HTTPOnly,它可能不会出现在
文档中。Cookie
。看看屏幕截图,第一块饼干似乎符合这个条件。我假设其他cookie属于不同的域(可能是由于页面上的Iframe),因此它们可能不会出现在document.cookie上,除非您将上下文切换到特定的Iframe。Nisarg Shah,是的,您是第一个看到它的人。那么,有没有办法获得HTTPOnly cookie?@dirtyharry这就是HTTPOnly的重点。它只能在HTTP请求期间检索,不能通过Javascript检索。所以不,“它们没有出现在document.cookie对象中(它是空的)”是的,我删除了那个注释。好的,最后一个链接看起来很有用,所以我将继续探索,谢谢
alert( $.cookie("example") );