为什么我可以在开发工具中而不是从控制台更改站点的Cookie?

时间:2019-07-08 02:45:47

标签: browser cookies

我花了至少五个小时试图通过控制台更改网站的cookie(在我的情况下为Facebook)。

看来,如果我在开发工具中清空c_user,则会注销。但是,当我尝试在控制台中实现同一目标时,什么也没发生。我尝试了以下两种方法:

document.cookie[0]="c_user=0";
document.cookie.replace("c_user", "94029r23r");

1 个答案:

答案 0 :(得分:1)

您没有正确执行JS。要理解的重要一点是,document.cookie返回一个包含所有cookie名称和值的字符串。让我们看看您的代码对该字符串有什么作用。

document.cookie[0]="c_user=0";

将字符串的元素设为零将返回第一个字符。在这种情况下,您将获得第一个cookie名称的第一个字符。将字符设置为字符串只是胡说八道,它什么也不做,也不会更改原始字符串-document.cookie

document.cookie.replace("c_user", "94029r23r");

我假设您期望它替换cookie的名称?唯一的问题是JS函数replace不会更改输入。它返回一份副本,上面有替换内容。同样,您不必修改document.cookie

有关正确的操作方法,请参见this question。或者,如果您想要快速又脏的东西来去除价值,请尝试以下操作:

document.cookie = document.cookie.replace("[the session id]", "");