AdBlocking JQuery

919
Federico Poloni

Как пользователь, занимающийся вопросами конфиденциальности, я стараюсь следить за тем, чтобы Google, Facebook и т. П. Не получали информацию о страницах, которые я посещаю, через веб-баг, например, Google Analytics и кнопку «Мне нравится» на Facebook. Таким образом я блокирую их, используя комбинацию Ghostery и AdBlock Plus на Firefox.

Тем не менее, jQuery - это еще один сценарий, который часто загружается из CDN Google, и я не могу слепо его блокировать, поскольку он нужен другим (полезным) сценариям. Итак, вопрос:

Есть ли способ заблокировать загрузку jQuery из CDN Google, не теряя полностью его функциональность? Идеальным вариантом было бы заменить его на локально размещенную копию (ну, несколько, в зависимости от необходимой версии) или на размещенную на сервере по моему выбору. Есть ли какой-либо инструмент конфиденциальности, предлагающий эту функцию без особых настроек?

2
Это действительно необходимо? Я думаю, что главная причина того, что многие страницы используют файлы, размещенные в Google, заключается в том, что они кэшируются везде. Таким образом, после второго посещения любой страницы, использующей jquery от Google, у вас не должно быть проблем. Однако может быть и другая проблема с jquerz - googleanalytic через сам jquery. gorn 12 лет назад 0
Я не эксперт, но я думаю, что браузер выполняет проверку истечения срока действия, общаясь с серверами Google всякий раз, когда jquery, если требуется, - только если запросы успешны, jquery загружается из кэша. Federico Poloni 12 лет назад 0
Нет, (один из) основных аргументов в пользу использования jquery заключается в том, что он подается из кеша. Срок действия этого браузера составляет один год, поэтому браузер загружает его раз в год. gorn 12 лет назад 1
@gorn: Я проверил несколько документов, и, похоже, ты прав - спасибо за развенчание моего мифа. Federico Poloni 12 лет назад 0

4 ответа на вопрос

3
unicornication

jQuery обычно является основной функциональностью для большинства сайтов, большинство из которых я создаю, основано исключительно на jQuery. Хотя на сайтах крупных организаций они обычно используют JavaScript для анимации, это зависит от того, какие сайты вы посещаете.

То, что вы хотите сделать, возможно, можно было бы сделать через Google Chrome, с помощью специального расширения, которое аннулирует все <script>теги со словом «jquery» в их источниках, и заменяет их собственной библиотекой, размещенной на сервере, или через официальный JQuery CDN. Я выполнил поиск по интернет-магазину Chrome и не нашел ничего, что могло бы сделать это, но вы могли бы попросить разработчика создать расширение, которое делает это!

Тем не менее, источники jQuery от Google обычно открыты для всех, если только вы не ссылаетесь на домен gstatic.com.

3
fixanoid

То, что вы спрашиваете, технически возможно с Ghostery for Firefox в его текущем состоянии, хотя это не для беззаботных

Ghostery for Firefox предлагает 2 функции, которые вы пробуете вместе в своем вопросе:

  1. Пользовательский список трекеров - эта функция позволит вам создать свой собственный список совпадений, в приведенном выше примере, скажем, jquery, обслуживаемый ajax.googleapis.com, и позволит вам блокировать на основе этого правила

  2. Суррогатная поддержка скриптов - эта функция позволит вам заменить содержимое заблокированного трекера локально сохраненным содержимым.

Пожалуйста, не предлагайте перемещать вещи на другие сайты, лучше просто дать более подробный ответ или ответить на комментарии Simon Sheehan 12 лет назад 0
Это кажется очень интересным. Не могли бы вы добавить больше деталей? Поиск в Google Ghostery + суррогатный скрипт ничего интересного не дает. Federico Poloni 12 лет назад 0
2
pdubs

Существует настройка Firefox, которая запрещает отправку заголовка реферера HTTP с каждым запросом. Это будет означать, что загрузка jQuery из CDN выглядит для Google, как будто вы только что ввели адрес и нажали Enter; нет ссылки на то, откуда он был связан.

По поводу: конфиг перейдите на network.http.sendRefererHeader. Допустимые значения: 0 (не отправлять ни с какими запросами), 1 (отправлять только по нажатым ссылкам), 2 (отправлять по всем вопросам). Значение 1 будет заботиться о вас, не нарушая некоторые функции, которые зависят от HTTP-реферера.

Интересный подход, спасибо. Хотя, как это ни парадоксально, это облегчит мне отслеживание, так как оставляет очень специфический отпечаток браузера ... Federico Poloni 12 лет назад 0
1
JdeBP

Это просто с прокси-сервером HTTP.

Просто скажите прокси-серверу переписать URL-адреса файлов сценариев, которые вы не хотите загружать, в URL-адреса своих личных копий. С adzapper и кальмаров, например, это простое REWRITEправило в файле шаблона. Для privoxy, для другого примера, это перенаправление в user.actionsфайл.

Как минимум, у этого подхода есть четыре преимущества по сравнению с расширениями:

  • Вы не бегаете вокруг вечной беговой дорожки, на которой Google и Mozilla Foundation устанавливают плагины и расширения.
  • Прокси-сервер HTTP не зависит от браузера. У вас нет проблем с поиском дополнительных расширений и плагинов, если вам нужна эта возможность в Opera, Safari, Internet Explorer или…
  • Прокси-сервер является централизованным, и один сервер может обслуживать всю локальную сеть. У вас нет проблем с установкой и настройкой расширений и плагинов заново при переключении компьютеров (или даже иногда учетных записей пользователей).
  • Вы получаете возможность навязывать драконовские ограничения, ограничивающие работу программ по HTTP, о которых вы не знаете. Если вы настроите каждый законный HTTP-клиент, о котором вы знаете, на каждом компьютере, чтобы использовать HTTP-прокси, вы можете установить ограничения на пограничных маршрутизаторах, чтобы остановить весь HTTP-трафик с каждого компьютера, кроме того, на котором работает прокси-сервер.

Конечно, когда у вас есть что-то вроде privoxy, вы можете делать все с помощью транзакций HTTP, а не просто перенаправлять запросы на HTTP-серверы вашего частного контента.

Похожие вопросы