浏览器扩展可以读取网站的 cookie 吗?
Can a browser extension read a website's cookie?
我正在创建如下所示的 cookie。我知道 website A can't read a cookie from website B,但我想知道是否有插件可以这样做?我有一个浏览器 extension/plugin,它具有极简界面并提供登录功能,但它有一个 转到仪表板 link,我不想用户再次登录。然后他们将不得不再次注销。如果这不可能,我还有什么其他选择
function create_cookie(name, value, days) {
var expires;
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
expires = "; expires=" + date.toGMTString();
} else {
expires = "";
}
document.cookie = encodeURIComponent(name) + "=" + encodeURIComponent(value) + expires + "; path=/";
}
通常是,取决于浏览器。无论如何,您必须始终以特定于浏览器的某些方式向用户请求权限。
例如,作为您的标签,Chrome 扩展允许通过 chrome.cookies
(Developer Chrome) 访问一组给定来源的 cookie。您必须在扩展程序的清单中请求对 cookie 的访问权限和相对来源,以便实际设置该属性并可用于某些站点。如果您不请求权限,chrome 将保留 属性 undefined
.
使用 chrome.cookies
,您可以自由访问 cookie 设置、读取和写入,并且当 cookie 更改时,您还可以通过 JS 事件系统获得扩展内通知。
请注意,对于 chrome 政策,当用户安装扩展程序时,将收到有关您当前要求哪些站点提供 cookie 的通知,以及您在清单中要求的所有权限。
这也是一种很好的行为,而且我认为根据您所在的国家/地区,通常还有一项法律义务要告知您的用户您实际上是 storing/using 他们在某些网站中的 cookie,以及什么是你打算和他们一起做。
如果您打算将 cookie 仅用于存储信息,而不是用于某种站点 cookie 操作,通常浏览器(如 chrome)会公开其 localStorage/sessionStorage
,或者特定的扩展存储也基于文件系统(如 chrome.storage
(Developer Chrome)),允许您在用户会话之间存储信息。这种存储是可取的,因为侵犯用户隐私较少。
如果您想深入了解一些代码,可以在此处找到 chrome 实施示例:Chrome Extensions Samples - Api/Cookies (GitHub)
我正在创建如下所示的 cookie。我知道 website A can't read a cookie from website B,但我想知道是否有插件可以这样做?我有一个浏览器 extension/plugin,它具有极简界面并提供登录功能,但它有一个 转到仪表板 link,我不想用户再次登录。然后他们将不得不再次注销。如果这不可能,我还有什么其他选择
function create_cookie(name, value, days) {
var expires;
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
expires = "; expires=" + date.toGMTString();
} else {
expires = "";
}
document.cookie = encodeURIComponent(name) + "=" + encodeURIComponent(value) + expires + "; path=/";
}
通常是,取决于浏览器。无论如何,您必须始终以特定于浏览器的某些方式向用户请求权限。
例如,作为您的标签,Chrome 扩展允许通过 chrome.cookies
(Developer Chrome) 访问一组给定来源的 cookie。您必须在扩展程序的清单中请求对 cookie 的访问权限和相对来源,以便实际设置该属性并可用于某些站点。如果您不请求权限,chrome 将保留 属性 undefined
.
使用 chrome.cookies
,您可以自由访问 cookie 设置、读取和写入,并且当 cookie 更改时,您还可以通过 JS 事件系统获得扩展内通知。
请注意,对于 chrome 政策,当用户安装扩展程序时,将收到有关您当前要求哪些站点提供 cookie 的通知,以及您在清单中要求的所有权限。
这也是一种很好的行为,而且我认为根据您所在的国家/地区,通常还有一项法律义务要告知您的用户您实际上是 storing/using 他们在某些网站中的 cookie,以及什么是你打算和他们一起做。
如果您打算将 cookie 仅用于存储信息,而不是用于某种站点 cookie 操作,通常浏览器(如 chrome)会公开其 localStorage/sessionStorage
,或者特定的扩展存储也基于文件系统(如 chrome.storage
(Developer Chrome)),允许您在用户会话之间存储信息。这种存储是可取的,因为侵犯用户隐私较少。
如果您想深入了解一些代码,可以在此处找到 chrome 实施示例:Chrome Extensions Samples - Api/Cookies (GitHub)