Spe*_*osa 65 javascript cookies
有没有办法,在Javascript的帮助下,列出与当前页面相关的所有cookie?也就是说,如果我不知道cookie的名称,但想要检索它们包含的所有信息.
Dix*_*onD 80
您可以列出当前域的Cookie:
function listCookies() {
var theCookies = document.cookie.split(';');
var aString = '';
for (var i = 1 ; i <= theCookies.length; i++) {
aString += i + ' ' + theCookies[i-1] + "\n";
}
return aString;
}
Run Code Online (Sandbox Code Playgroud)
但出于安全原因,您无法为其他域列出Cookie
Spe*_*osa 11
var x = document.cookie;
window.alert(x);
Run Code Online (Sandbox Code Playgroud)
这将显示当前站点可以访问的每个cookie.例如,如果你创建了两个cookie"username = Frankenstein"和"username = Dracula",这两行代码将显示"username = Frankenstein; username = Dracula".但是,不会显示有效期等信息.
Jay*_*wal 11
很多人已经提到,它document.cookie可以为您提供所有 cookie(除了 cookie http-only)。
我将添加一个片段以跟上时代的步伐。
document.cookie.split(';').reduce((cookies, cookie) => {
const [ name, value ] = cookie.split('=').map(c => c.trim());
cookies[name] = value;
return cookies;
}, {});
Run Code Online (Sandbox Code Playgroud)
该代码段将返回一个以 cookie 名称作为键,以 cookie 值作为值的对象。
语法略有不同:
document.cookie.split(';').reduce((cookies, cookie) => {
const [ name, value ] = cookie.split('=').map(c => c.trim());
return { ...cookies, [name]: value };
}, {});
Run Code Online (Sandbox Code Playgroud)
编辑:有人正确地指出,如果您的 cookie 键或值中有一个,您将面临问题=。也许考虑使用转义序列来缓解这种情况?
小智 5
为了快速查看任何特定页面上的 cookie,我保留了收藏夹栏“Cookies”快捷方式,并将 URL 设置为:
javascript:window.alert(document.cookie.split(';').join(';\r\n'));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
119047 次 |
| 最近记录: |