Ответ
Да, Cookie можно редактировать как вручную через инструменты разработчика, так и программно через JavaScript.
Способы редактирования:
-
Через JavaScript:
// Установка или изменение Cookie document.cookie = "sessionId=abc123; expires=Fri, 31 Dec 2024 23:59:59 GMT; path=/";- Это позволяет динамически управлять Cookie в рамках текущей сессии или домена.
-
Через Инструменты разработчика (DevTools):
- Chrome/Edge:
F12→ Вкладка Application → Storage → Cookies. - Firefox:
F12→ Вкладка Storage → Cookies. - Safari:
⌥⌘C→ Вкладка Storage → Cookies. - Здесь можно просматривать, добавлять, удалять и изменять значения, сроки действия (
Expires/Max-Age) и другие атрибуты Cookie.
- Chrome/Edge:
Важные ограничения:
- 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, а там — Storage → Cookies. И вот они, сука, все как на ладони, лежат. - В Фаерфоксе: Тоже
F12, потом вкладка Storage → Cookies. Та же хуйня, только браузер другой. - В Сафари (для мажоров):
⌥⌘C, потом Storage → Cookies.
И там можно ВСЁ. Смотреть, добавлять, удалять, менять значения, даты смерти этих куков (Expires/Max-Age) — полный карт-бланш, блядь! Хочешь себе админские права в тестовом окружении подрихтовать — пожалуйста. Чих-пых — и ты король.
НО! Тут, как всегда, есть своё «но», ёбаный в рот. Не все куки такие сговорчивые.
- HttpOnly: Вот эта, сука, самая хитрая. Если у куки стоит флажок
HttpOnly, то через JavaScript (document.cookie) к ней нихуя не подступиться. Ни прочитать, ни поменять. Она только для сервера, по HTTP(S) туда-сюда шныряет. Ты её в девтулзах увидишь, но из кода — нихуя. - Secure: Эта передаётся только по HTTPS. Без шифрования — нахуй не нужна.
- SameSite: А это, блядь, вообще отдельная песня. Регулирует, поедет ли твоя кука с тобой на другой сайт (
Strict,Lax,None). Чтобы всякие межсайтовые подлянки не выходили.
И зачем это всё, спросишь? Да хуй его знает! Шучу. На самом деле — тестирование, ёпта. Проверяешь, как твоё приложение поведёт себя, если у пользователя сессия внезапно сдохла. Или если он, мудак, попробует подменить в куках свой userId. Или отлаживаешь проблемы с аутентификацией, когда всё ебётся, а почему — непонятно. Вот тогда и лезешь в эти дебри, как заправский хакер, блядь.