Pull to refresh

Comments 65

Ещё он точно защитит от XSS

Если рассматривать XSS как взаимодействие с другими сайтами — то да, но если evil js выполняется в контексте того же домена (меняет пароль, рассылает сообщения и т.п.) — то нет.
UFO landed and left these words here
Same Site Scrtipting — SSS
ок :]
Сюда еще можно добавить Ghostery и Self-Destructing Cookies
Это проприетарщина и непригодна для других целей. Я же назвал расширения общего применения.
Это сейчас про Ghostery было, про Self-Destructing Cookies я просто не слышал.
Что там не так, только лицензия не нравится?
Код не обфусцирован, бинарных модулей нет. Фактически, xpi-файл это архив с js-исходниками.
Ghostery умеет тоже самое, что и RequestPolicy.
Ога, но запрещает только следилки. А всё остальное — не сможет.
Что «все остальное»?

Виджеты комментирования соцсетей, социальные закладки и т.д. — прекрасно может.
Вообще всё. Без разделения по типу, работать по вайтлисту.
Что «все остальное»?

Имеется в виду ручная настройка пользователем.

И ещё, когда снёс ghostery, у меня браузер перестал падать на случайных сайтах, а также с Ghostery при закрытии он пару минут висел в процессах — теперь нет. Я думал, это нормально, потому что в сессии 500 табов (некогда всё прочитать), однако чистый firefox хорошо оптимизирован.
Топик про расширения из категории «Безопасность», «Отвалите от меня и не следите», и вы забыли упомянуть www.ghostery.com/, ай-яй-яй.
> Я вот одно время ходил по Интернету с User Agent'ом, сформированным как браузер IE 10 под Linux.
Кстати, советую менять UserAgent под linux-версию браузера. Многие сайты, которые пытаются впихнуть какую-нибудь хрень с сертификатом mail.ru — перестают это делать, и отдают напрямую запрашиваемый файл.
У меня и так Linux'овая версия. И вообще Linux, так что неактуально для меня. Но добавил в пост.
Так сложилось, что я таки не перешёл на Linux (под C# писал), так что приходится извращаться )
Вместо Cookie Monster использую Selective Cookie Delete — вроде то же самое (однако, localstorage не очищает, при входе на mega.co.nz попадаю в свой авто-созданный профиль).

Крайне рекомендую Ghostery. Возможно, она слабее RequestPolicy, но преднастроена для чайников.

И ещё google-no-tracking-url — очищает страницы выдачи гугла от redirect-ссылок, при клике попадаешь сразу на нужный сайт, а не на редирект, учитывающий кто что выбрал в результатах поиска.
Крайне рекомендую Ghostery.

Про Ghostery помимо проприетарности ещё можно сказать, что она была основана компанией, изначально имевшей название Better Advertising. Можно делать выводы.
И ещё google-no-tracking-url — очищает страницы выдачи гугла от redirect-ссылок, при клике попадаешь сразу на нужный сайт, а не на редирект, учитывающий кто что выбрал в результатах поиска.

NoScript имеет подобную функциональность.
Спасибо, заменил Ghostery на RequestPolicy. Пока доволен. Белый список всё-таки надёжнее чёрного.
Разве что широким массам рекомендовать её нельзя — требует внимания и понимания тонкостей web.
Ну, это да. Я упоминал в посте.
NoScript покрывает его функциональность.
Неа.
Взять тот же ютуб. Там у меня местные и нужные скрипты разрешены. Если ФлешБлок активирован, то при заходе на страницу видео не воспроизводиться сразу. А если деактивирован, то видео сразу воспроизводиться.
Если попадаешь на сервис, где куча видео на страницы, то без ФлешБлока все флешки подгружаются, создавая лишний процесс ПлугинКонтейнер.
С некоторых пор файрфокс из коробки умеет это. В списке плагинов можно отключить ненужные или перевести их в режим «включать по запросу (клику)». На нужных сайтах можно изменить режим на «включен постоянно».
Да, читал обещания, но «реализацию» не видел. Буду благодарен, если поделитесь инструкцией.
На данный момент подобную опцию найти не получилось (FF 24), а через гугл получилось найти только
about:config => plugins.click_to_play
Но это не работает.
Меню Firefox — Дополнения — Плагины (слева). Справа от каждого плагина можно поставить «включать по запросу».
Появилось там после включенияопции
about:config => plugins.click_to_play
Спасибо.
Негодный способ однако. Не получается в один клик как у флэшблока, только в два, да и ответ куда-то кэшируется и следующая вкладка ютуба внезапно оказывается с включенным флэшом
Испробовал. Не сравнится это с плагином.
Если ФлешБлок активирован, то при заходе на страницу видео не воспроизводиться сразу. А если деактивирован, то видео сразу воспроизводиться.
Если попадаешь на сервис, где куча видео на страницы, то без ФлешБлока все флешки подгружаются, создавая лишний процесс ПлугинКонтейнер.

Чтобы понять о чем я говорю — можно открыть десяток вкладок ютуб и будет приготовлен известный рецепт уши в трубочку.
А смысл менять шило на мыло?
Так указанный мной аддон не является блокировщиком флеша. Он лишь корректирует поведение встроенной в фф функции click to play.
Пользовался NoScript наверное лет 5, удалил, надоели проблемы почти после каждого апдейта. К примеру, на последнем апдейте фокса (24) видео на флеше то не загружалось то браузер дико тормозил, удалив данное расширение браузер как будто подменили! :) Профилю от силы год. Врядли когда-нибудь еще поставлю.
Мне всегда казалось, что он наоборот ускоряет работу, отключая туеву хучу скриптов, особенно всякие слайдеры навороченные с эффектами. А когда ещё и пару десятков вкладок открыто…

Взять хотя бы Яплакал, который не самый плохой вариант — бывает и хуже:
скрин
Я тоже так думал, комп то не слабый — i7 3770k (ит.д.) и все это на ссд. Всё остальное летает тока в путь ну и любимый фокс сейчас тоже :)
Пользовался NoScript наверное лет 5

i7 3770k (ит.д.) и все это на ссд

Привет из будущего?
Железо на данный момент такое конечно же.
У меня такой же опыт, из-за неоправданных задержек в загрузке, отказался от него.
Владельцам слабых машин следует помнить, что каждый такой дополнительный аддон негативно влияет на производительность браузера, особенно noscript.
И еще, подписка adblock'а fanboy's social blocking list хорошо заменяет ghostery.
noscript
С ним всё наоборот. Особенно с тяжёлыми страничками с кучей скриптов. Затраты на NoScript ничто по сравнению с затратами на выполнения всех скриптов тяжёлых страниц.
При этом каждый невыполненный скрипт, каждый невыполненный flash-объект и каждый незагруженный баннер ускоряют работу браузера.

Тут интересно будет найти баланс.

Flashblock, вероятно, сильно ускоряет браузер. Noscript — тоже.

Adblock и Ghostery ускоряют браузер, одновременно замедляя его, сканируя страницу для каждого своего правила. Писали, что Adblock при подключении некоторых особо жирных подписок здорово тормозит систему.

Особенно это интересно в контексте Firefox для Android: на ARM-системах вычислительной мощи гораздо меньше.
Flashblock ускоряет в разы. А вот носкрипт как то плохо справляется с флэшем/сильверлайтом. А Flashblockу кликнул на картинку и флэш подгрузится, да еще и белый список есть.
Вы правы, к выбору подписок надо подходить внимательнее и не выбирать много и пересекающиеся по содержанию. Плюс я для ускорения браузера обновляю их вручную.
Самое грустное, что на маленьком экране нетбука chrome почему-то удобнее… (
У браузерных расширений есть один большой минус - низкая гранулярность политики безопасности. Зачастую расширению требуются права на все элементы всех страниц и вообще ко всему, о чем можно подумать, что позволяет перехватывать и изменять что угодно. Пусть расширение изначально не содержало вредоносного кода, но чем больше их стоит, тем больше шанс, что репозиторий одного из расширений взломают и добавят скрытую проблему.
Надо ещё добавить дополнений, да побольше побольше…
Кто-нить, подскажите, существует ли плагин, который позволяет открывать ссылки в выдачи поисковиков сразу прямые ссылки, а не через всякие анализаторы кликов соответствующих поисковиков?
Это же тоже относится к категории «отстаньте от меня».
NoScript когда-то давно стоял, но был снесён.
Потому что он стал громоздким комбайном, каждую неделю обновлялся и тратил моё внимание на страницу с what's new, а чем он мне помогает, я не так и не понял. Куча настроек, куча неявного поведения (например, что он поисковые ссылки google очищает, я только что узнал).

Лучше заменить на несколько простых и понятных инструментов.
RequestPolicy+YesScript гораздо лучше NoScript, imo.
MaskMe + DoNotTrackMe — неплохая связка, имитирующая шапку-«невидимку».
Кстати, тут ниже посоветовали менять User Agent на Linux'овый (если у вас и так не Linux), так как благодаря этому некоторая малварь к вам просто не будет посылаться. Странный, конечно, способ, но есть такое мнение.

Ничего не странный способ. Простой и сердитый — против многих экспсплоит паков (связок с эксплоитами) работает. Т.к. они часто по User-Agent и определяют ОС и версию браузера под который подсовывают жертве сплоит. Не панацея, конечно, но в ряде случаев работает.

Похожий способ предложили тут. Суть — заставить вирус «думать», что он попал на комп к вирусному аналитику и тем самым заставить сработать его же собственный код для предотсращения дальнейшего заражения компа (а-ля самоудалиться с этого компа). Такая вот полезная мимикрия.
Need Help, please!

Часто замечаю в Request policy, что многие сайты ссылаются на jquery с google или yandex.
Существует ли add-on для подмены файлов этих библиотек на локальные копии?
Тупо чтобы после загруки страницы заменял в ней всякие script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js" на script src="file://c:/jslib/jquery.min.js"
Юзерскрипт попробуйте поискать, должно быть.
Написал такой greasemonkey скрипт

var tags = document.getElementsByTagName('script');
for (var i = 0; i < tags.length; i++) {
  var src = tags[i].src;
  var dst = null;
  if (src == 'http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js' ||
      src == 'https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js')
    dst = 'file://c:/jslib/ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js';
  if (src == 'http://ajax.googleapis.com/ajax/libs/prototype/1.7.0.0/prototype.js' ||
      src == 'https://ajax.googleapis.com/ajax/libs/prototype/1.7.0.0/prototype.js')
    dst = 'file://с:/jslib/ajax.googleapis.com/ajax/libs/prototype/1.7.0.0/prototype.js';
  if (dst) tags[i].src = dst;
}


Сайты работают.
Но есть проблемы:
1. View Page Source показывает исходник со старым URL (хотя Inspect Element — с новым)
2. Сайт googleapis.com не исчезает из списка заблокированных у Request Policy (из-за этого трудно понять, все ли файлы я подменил на локальные).
1. Это нормально.
2. Это тоже может быть нормальным.

Но вот file://с:/jslib/ это как-то… Странно. Не лучше прифигачить его к юзерскрипту нормальным способом? (чтобы не только у вас работало)
Так всё равно скачивать файлы и размещать в файловой системе приходится вручную.

Хотя, может это быть хорошей идеей: проверять, есть ли файл
http://<site>/<path> где-то в $(FirefoxProfile)/<site>/<path> и, если есть, подменять.
Вот только непонятно, как это скажется на производительности браузера — перелопачивать большую страницу и обращаться к файловой системе каждый раз…
Неправильно ты дядя Федор бутерброд ешь (с)


Блокируете NoScript'ом или чем там блокируете, не важно. Чтобы запросы вообще не шли на гугл.

Ставите Scriptish, у которого отсутствует sandbox, как у GM и просто копипастите туда исходник JQ, можно так же обернуть в условия.

Если надо GM, то в хедере указываем
// ==UserScript== // ... // @resource jq http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js // ... // ==/UserScript==
и потом уже подключаем его в условиях
..src="'+GM_getResourceURL("jq")+'"...

Профит. Не надо отдельно качать.

Вот только непонятно, как это скажется на производительности браузера — перелопачивать большую страницу и обращаться к файловой системе каждый раз…

Он это делает в любом случае, как ни крути. Не из сырости же он берет скрипты и файлы (код) :D
Поломался код
// ==UserScript==
// ...
// @resource jq http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js
// ...
// ==/UserScript==
resource — интересная команда.
Добавил в скрипт, файл скачивается, но при попытке обратится к GM_getResourceURL (или GM_getResourceText) скрипт прекращает работу без видимых причин. Например, этот скрипт

Скрытый текст
// ==UserScript==
// @name        Local Files
// @namespace   http://www.example.com/home
// @version     1
// @grant       none
// @resource jq101 http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js
// @resource jq132 http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js
// @resource proto1700 http://ajax.googleapis.com/ajax/libs/prototype/1.7.0.0/prototype.js
// ==/UserScript==

var img = document.createElement('img');
img.src = 'http://habr.habrastorage.org/avatars/d8d/d12/0b6/d8dd120b6352e39753b9976c1bcce3de_small.png';
document.body.appendChild(img);
var z = GM_getResourceURL("proto1700");
var img2 = document.createElement('img');
img2.src = 'http://habr.habrastorage.org/avatars/a73/b42/1a2/a73b421a2032952b85813b10077a6e01_small.png';
document.body.appendChild(img2);


Добавляет первый img на любую страницу, но не добавляет второй. Вероятно, какая-то несовместимость моей версии FF (24.0) и GM (1.12)
Разобрался, нужен @grant GM_getResourceURL.
Спасибо, BaNru. Узнал немного интересного о user-скриптах.
Да, забыл про grant )
Он это делает в любом случае, как ни крути. Не из сырости же он берет скрипты и файлы (код) :D

Это я к тому, что обращаться к диску на любом теге <script> может быть накладно.
if (src == 'http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js' ||

Тут лучше воспользоваться регуляркой, типа
"~https?://ajax.googleapis.com/ajax/libs/jquery/(1|2)(.+[0-9]+)?/jquery.(min.)?js~"

Работоспособность гарантирую на 98% :D
Дошли руки допилить selectivecookiedelete.
Описание изменений — addons.mozilla.org/en-US/firefox/addon/selectivecookiedelete/reviews/590636/
Там же — ссылка на pastebin с файлом FirefoxPortable\Data\profile\extensions\selectivecookiedelete@siju.mathew\chrome\selectivecookiedelete.jar\content\selectivecookiedelete.js, которым надо заменить оригинал.
Only those users with full accounts are able to leave comments. Log in, please.