Greasemonkey: Запрос функции: cookie api

Созданный на 7 сент. 2013  ·  8Комментарии  ·  Источник: greasemonkey/greasemonkey

Предлагаю cookie api. Мотивация состоит в том, чтобы удалить cookie "NID" на google.com, чтобы уменьшить отслеживание, оставив cookie "PREF" нетронутым. Проблема с document.cookie заключается в том, что он показывает только файл cookie PREF и ничего больше, поскольку файл cookie NID принадлежит домену ".google.com". Firefox также, похоже, не поддерживает эту функцию изначально и отключается только для каждого домена.
Некоторые api, возможно, с ограничениями доступа к доменам, будут полезны в этом случае.

Самый полезный комментарий

Я столкнулся с несколькими ситуациями, когда я хотел бы манипулировать файлами cookie, для которых также было недостаточно document.cookie . Есть много вещей, которые нужно учитывать, чтобы сделать это хорошо ...

Все 8 Комментарий

NID не отображается в document.cookie, потому что он httponly = true. Бьюсь об заклад, вы можете заменить его своим собственным фиктивным значением.

Я мог бы переопределить его в текущем домене, но не в домене google.com. Поэтому я считаю, что это все еще можно рассмотреть, поскольку файлы cookie часто используются для отслеживания пользователей.

Можно ли повторно открыть этот вопрос? Даже если бы мне пришлось переопределить файл cookie, нет, скажем, способа перечислить файлы cookie на текущей странице. Доступ пользовательского скрипта к http cookie может решить эту проблему, например, используя GM_cookie() api.

Конечно, теоретически может. Но философия Greasemonkey в

(Сайты IMO не используют HttpOnly случайно, это преднамеренно реализованная функция безопасности. Так что, вероятно, будет сложно сделать это. И ничто не мешает вам создать расширение для конкретного сайта, если вам нужен доступ к API нижнего уровня и желает быть Firefox только в результате.)

Извините за комментарий в таком старом выпуске.

Бьюсь об заклад, вы можете заменить его своим собственным фиктивным значением

Я пробовал и кажется, что это невозможно. Хотя браузер хранит файлы cookie с флагом HttpOnly, вы не можете ни получить доступ, ни перезаписать их из JS.

Сильный аргумент поможет

Не уверен, насколько серьезен такой случай, но мне нужно удалить cookie из пользовательского скрипта, чтобы избежать бессмысленного перенаправления на один конкретный сайт. И в настоящее время это невозможно, потому что он установлен на сервере с помощью флага HttpOnly.

Я приведу слабый пример сценария. Я пишу сценарий на странице, на которой есть целый ряд файлов cookie. Один файл cookie заставляет весь веб-сайт отображаться по-разному из-за некоторого странного выбора дизайна; файл cookie устанавливается при входе в определенную часть веб-сайта без возможности выхода из системы где-либо. Поскольку этот файл cookie установлен с флагом httponly, я не могу исправить его с помощью стандартного метода document.cookie. Было бы неплохо иметь GM_cookie или что-то подобное, чтобы иметь возможность устанавливать / переопределять / удалять файлы cookie, которые в противном случае защищены через httponly.

Я столкнулся с несколькими ситуациями, когда я хотел бы манипулировать файлами cookie, для которых также было недостаточно document.cookie . Есть много вещей, которые нужно учитывать, чтобы сделать это хорошо ...

Предлагаю посмотреть здесь (только на одном примере):
https://dxr.mozilla.org/mozilla-central/source/devtools/shared/gcli/commands/cookie.js
( nsICookieManager2 )

Была ли эта страница полезной?
0 / 5 - 0 рейтинги