以 B 站为例使用油猴脚本获取 HttpOnly 的 Cookie
网页开发者在设置 Cookie 的时候 可以打开一个叫做 HttpOnly 的选项。这个选项可以阻止 JS 代码去操作这个 Cookie 。一般来说这个功能用于网站的身份认证信息的存储,避免第三方脚本获取用户的身份认证信息,做出一些不安全的行为俗称盗号。 但是有些时候我们是需要方便获取的,于是这里使用了油猴脚本来获取,抄了别人代码做了一个例子。
该脚本通过 GM_cookie 这个插件提供的对象来读取 Cookie 绕开了 HttpOnly 限制,读取到了一个名字为 ‘SESSDATA’ 的值,该值在 http*://www.bilibili.com/* 域下是 HttpOnly 的,普通的注入 js代码是读取不到的。
注意:篡改猴旧版(4.13.6138)可以用这个,但是新版不知道为什么去掉了GM_cookie,只能用 BETA 版本
// ==UserScript==
// @name 获取cookie测试
// @version 0.0.1
// @author test
// @description test
// @match http*://www.bilibili.com/*
// @connect www.bilibili.com
// @run-at document-idle
// @grant unsafeWindow
// @grant GM_cookie
// ==/UserScript==
(function () {
'use strict';
GM_cookie && GM_cookie('list', {name: 'SESSDATA'}, (cookies, error) => {
if (!error) {
alert(cookies[0].value);
}
});
})();