Можно ли редактировать Cookie в браузере?

Ответ

Да, Cookie можно редактировать как вручную через инструменты разработчика, так и программно через JavaScript.

Способы редактирования:

  1. Через JavaScript:

    // Установка или изменение Cookie
    document.cookie = "sessionId=abc123; expires=Fri, 31 Dec 2024 23:59:59 GMT; path=/";
    • Это позволяет динамически управлять Cookie в рамках текущей сессии или домена.
  2. Через Инструменты разработчика (DevTools):

    • Chrome/Edge: F12 → Вкладка ApplicationStorageCookies.
    • Firefox: F12 → Вкладка StorageCookies.
    • Safari: ⌥⌘C → Вкладка StorageCookies.
    • Здесь можно просматривать, добавлять, удалять и изменять значения, сроки действия (Expires/Max-Age) и другие атрибуты Cookie.

Важные ограничения:

  • HttpOnly: Cookie с флагом HttpOnly недоступны для чтения или изменения через JavaScript (document.cookie). Они предназначены только для передачи по HTTP(S).
  • Secure: Cookie с флагом Secure передаются только по защищенному протоколу HTTPS.
  • SameSite: Атрибут SameSite (Strict, Lax, None) регулирует, отправляются ли Cookie с межсайтовыми запросами.

Применение в тестировании: Редактирование Cookie используется для проверки поведения приложения при истечении сессии, подмене данных пользователя, тестировании безопасности (например, попытка подделать сессию) и отладке проблем с аутентификацией.

Ответ 18+ 🔞

Ага, вот ты сидишь такой, думаешь: «Ну куки, блядь, что там с ними можно сделать?». А нихуя себе, можно, оказывается, целую оперу развести!

Смотри, есть два главных пути, как с этими печеньками управляться. Первый — через JavaScript, прямо из кода. Ну, типа, программерский способ, для автоматизации всякой хуйни.

Вот, например, хочешь куку установить или поменять — пишешь в коде такую простыню:

// Установка или изменение Cookie
document.cookie = "sessionId=abc123; expires=Fri, 31 Dec 2024 23:59:59 GMT; path=/";

Всё, и поехали. Сидишь такой, как царь, и правишь куками своего домена. Хуяк — сессия продлена, хуяк — пользователь «залогинен».

Но это, блядь, для лохов, которые код пишут. А есть способ для настоящих пацанов — через инструменты разработчика, или, как их в народе, девтулзы. Это ж, ёпта, как прямо в кишках браузера поковыряться!

  • В Хроме или Эдже: Жмёшь F12, ищешь вкладку Application, а там — StorageCookies. И вот они, сука, все как на ладони, лежат.
  • В Фаерфоксе: Тоже F12, потом вкладка StorageCookies. Та же хуйня, только браузер другой.
  • В Сафари (для мажоров): ⌥⌘C, потом StorageCookies.

И там можно ВСЁ. Смотреть, добавлять, удалять, менять значения, даты смерти этих куков (Expires/Max-Age) — полный карт-бланш, блядь! Хочешь себе админские права в тестовом окружении подрихтовать — пожалуйста. Чих-пых — и ты король.

НО! Тут, как всегда, есть своё «но», ёбаный в рот. Не все куки такие сговорчивые.

  • HttpOnly: Вот эта, сука, самая хитрая. Если у куки стоит флажок HttpOnly, то через JavaScript (document.cookie) к ней нихуя не подступиться. Ни прочитать, ни поменять. Она только для сервера, по HTTP(S) туда-сюда шныряет. Ты её в девтулзах увидишь, но из кода — нихуя.
  • Secure: Эта передаётся только по HTTPS. Без шифрования — нахуй не нужна.
  • SameSite: А это, блядь, вообще отдельная песня. Регулирует, поедет ли твоя кука с тобой на другой сайт (Strict, Lax, None). Чтобы всякие межсайтовые подлянки не выходили.

И зачем это всё, спросишь? Да хуй его знает! Шучу. На самом деле — тестирование, ёпта. Проверяешь, как твоё приложение поведёт себя, если у пользователя сессия внезапно сдохла. Или если он, мудак, попробует подменить в куках свой userId. Или отлаживаешь проблемы с аутентификацией, когда всё ебётся, а почему — непонятно. Вот тогда и лезешь в эти дебри, как заправский хакер, блядь.