Почему я могу изменить файлы cookie сайта в инструментах разработчика, а не в консоли? - PullRequest
0 голосов
/ 08 июля 2019

Я потратил не менее пяти часов, пытаясь изменить файлы cookie веб-сайта, которым в моем случае был Facebook, через консоль.

Похоже, что если я отключу c_user в инструментах разработки, я выйду из системы. Но когда я попытался добиться того же в консоли, ничего не произошло. Я пробовал следующие два метода:

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

1 Ответ

1 голос
/ 08 июля 2019

Вы не правильно делаете JS. Важно понимать, что document.cookie возвращает строку со всеми именами и значениями файлов cookie. Давайте посмотрим, что ваш код делает с этой строкой.

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

Взятие нулевого элемента строки возвращает первый символ. В этом случае вы получите первый символ имени первого куки. Установка символа в строку - это просто бессмыслица, она ничего не делает и не меняет исходную строку - document.cookie.

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

Я полагаю, вы ожидаете, что это заменит имя куки? Единственная проблема заключается в том, что функция JS replace не меняет вход. Возвращает копию с произведенными на ней заменами. Итак, еще раз, вы не измените document.cookie.

Чтобы узнать, как это сделать, см. этот вопрос . Или, если вы хотите что-то быстрое и грязное, которое удаляет значение, попробуйте это:

document.cookie = document.cookie.replace("[the session id]", "");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...