X

GreaseMonkey и очистка cookie

На одном из видео-хостингов столкнулся с проблемой, а именно надписью в flash плеере: "Для вашей страны видео заблокировано". Из любопытства я открыл это же окно в другом броузере, и оно заработало. Однако после обновления страницы, я получил ту же надпись.. Чуть пораскинув мозгами я понял, что блокировку ставят через куки. Удалив все куки для текущего, домена (спасибо плагину Web Developer для Firefox) я подтвердил свои догадки.. Конечно, каждый раз при загрузке страницы чистить куки это муторное занятие, поэтому надо было это дело автоматизировать. На помощь, был призван плагин для FF - GreaseMonkey..

Через пару минут я нашел куку отвечающую за определение страны, и заменил в ней страну на US, вот таким скроиптом:

// ==UserScript==
// @name        ScriptName
// @namespace   namespace
// @include     http://www.site.com/*
// @version     1
// @grant       none
// ==/UserScript==

var name="country";
var value="US";
document.cookie = name + "=" +escape(value);

после перезагрузки страницы, кука заменилась, и навязчивое сообщение, более не появлялось 🙂

Категории: JavaScript Бездна

Комментарии (2)

  • Виталий, эта кука в браузере? То есть скрипт меняет страну для браузера в Firefox?

    • Да, верно. Определить страну это в большинстве случаев довольно накладная операция - надо искать ip, по большой базе. Соответственно, для уменьшения накладных расходов, эту информацию записывают в куку или в сессию. В моем случае, запись делали в куку. Которую я соответственно подменял на свою. В любом другом плеере, это может быть реализовано по другому. Поэтому нет 100% гарантии что она будет присутствовать.
      Протестить можно так: очистить все куки для домена, обновить страницу, дождаться загрузки всех элементов и посмотреть по названиям какие куки поставились. Я делаю это с помощью плагина Web Developer Tools для FF или встроенного в Chrome инструмента разработчиков.