Разворачивание коротких ссылок в Firefox

В какой-то момент мне надоело, что сервисы сокращения ссылок посылают меня неизвестно куда. Не так давно я писал о pdf эксплойте, и риск наткнуться на такое чудо, кликая по короткой ссылке в чьём-нибудь твиттере меня совершенно не радовала.
Способов бороться с этим я нашёл два: разворачивание ссылок и контроль переходов (коды HTTP 3xx).

Итак, дано: Огнелис – браузер, bit.ly – объект изучения, Твиттер – среда. Куда пойти для решения проблемы? На официальный сайт модулей для Firefox! Одним из первых нашлось собственное расширение для браузера от сервиса bit.ly, которое при наведении на ссылку показывало, куда она ведёт. Но помимо этого удобства, надстройка добавляла в контекстное меню каждой ссылки предложение её сократить. Без возможности это предложение выключить в настройках. Фирменное дополнение было с презрением выброшено.

Настало время для более действенных средств.

Long URL Please

Если короткая ссылка куда-то ведёт – значит, это кому-то нужно. А нам нужно узнать, куда она ведёт. Веб-сайт с понятным названием Long URL Please («Длинную ссылку, пожалуйста») предлагает установить своё дополнение для Firefox, но также согласен работать из букмарклета.

Сервис делает ровно то, о чём говорится в названии: разворачивает в коде страницы короткие ссылки в длинные. Вот как это выглядит до и после:

И в первом, и во втором случае я навёл курсор мыши на первую ссылку в записи. Разница очевидна. Причём общий вид страницы не изменился!

NoRedirect

NoRedirect – это плагин сравнимый с тяжёлой артиллерией.

Для начала процитирую официальное описание и комментарии автора:

NoRedirect даёт пользователю контроль над HTTP перенаправлениями. Его можно использовать для запрета перехвата провайдерском DNS запроса, предпросмотра «сокращённых» ссылок (например, TinyURL), остановки назойливой переадресации «умных» страниц ошибок и т.п.

Кай Лю:

Изначальным стимулом к созданию NoRedirect послужило разочарование в поисковом сервисе провайдера Verizon, который не всегда можно было отключить. При каждом столкновении с DNS ошибкой – напечатав несуществующий адрес, щёлкнув ссылку с опечаткой, упустив буквы при копировании адреса – меня перенаправляли на «полезную» страницу поиска Веризона, что означало одно: мне надо набить адрес заново, чтобы исправить опечатку.

Такие пользовательско-враждебные сервисы внедрены многими интернет-провайдерами и некоторыми доменными регистраторами. Многие пользователи удивлялись перенаправлению, напечатав «.cm» вместо «.com». Кроме остановки таких редиректов, NoRedirect восстанавливает естественное поведение браузера: показ встроенной ошибки при попытке обратиться к несуществующему домену, и, если включена, активацию встроенной системы поиска по ключевым словам, – они будут защищены от перехвата ошибочных DNS запросов.

Все настройки аддона чрезвычайно просты. Вы указываете:

  1. паттерн обработчика ссылок в виде регулярного выражения (regexp)
  2. реагировать на перенаправления при адресации с контролируемого домена или на него
  3. разрешать или блокировать перенаправление
  4. должен ли браузер выдать стандартную DNS ошибку


Настройки по умолчанию защитят американских пользователей от DNS перехватов (провайдеры Роджерс, Веризон, Кокс и даже сервис ОпенДНС засветились в списке), а мы добавим свои правила.

Для безусловной блокировки всех перенаправлений создайте новое правило и переместите его в начало списка: ^http://.*, ни одной галочки не ставьте.

Теперь, если вы пойдёте по любой редирект-ссылке, вы увидите предупреждающую полоску, с реальным адресом, на которую можно кликнуть. С примером из обзора предыдущего плагина, это будет выглядеть следующим образом:

Лирическое отступление: некоторые редирект-сервисы имеют встроенные средства контроля перехода по ссылкам. Так, TinyURL позволяет добавлить в браузер куки, определяющий, переходить ли по ссылкам напрямую, или через сайт TinyURL с предпросмотром адреса. И теперь ссылка http://tinyurl.com/hhabr не приведёт вас неизвестно куда 😉 Другой, ещё лучший пример – курощатель ссылок B23 при добавлении к любой своей ссылке-сокращению знака вопроса показывает о ней всю информацию http://b23.ru/ssdv?. Статистику работы сокращения bit.ly можно неочевидно получить, дописав к ссылке плюсик: bit.ly/vanM5+. Список наверняка можно продолжить…

Если вы отличаетесь параноидальностью, на этом можно и успокоиться. Однако, предположим, подозрение ко всем и вся в вас не сидит. Тогда вы можете довольно гибко настроить плагин, вот ряд примеров:

  • разрешить все редиректы с сервиса b23.ru: ^http://b23\.ru [V] [V] [_]
  • разрешать все редиректы на ЖЖ: ^http://[\w\-]+\.livejournal\.com [_] [V] [_]
  • контролировать все переходы с сервиса bit.ly: ^http://bit\.ly [V] [_] [_]

Дальше всё ограничено только вашей фантазией. И не забудьте вытавить ПРАВИЛЬНЫЙ ПОРЯДОК следования правил: сначала разрешающие, потом запрещающие!

Неожиданное

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

К примеру, реклама может выглядеть забавнее, чем обычно:

А конкурирующий, в части корпоративных блогов, сайт livehh.ru гоняет своих пользователей через некий свой hhid.ru:

А если по умолчанию включена запись куки, то добрый hhid.ru ещё и печеньками браузер пользователя накормит.

Если у вас есть подобные смешные примеры – не стесняйтесь постить в комменты!

Но это ещё не всё!

Как бы ни были хороши ‘Long URL Please’ и ‘NoRedirect’, я всё равно советую вам пользоваться плагином Noscript для большей безопасности (о нём на Хабре).

http://habrahabr.ru/blogs/firefox/66748/

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *