Здравствуйте. Есть дополнение "User javascript and css", с помощью которого можно добавить скрипт, а есть ли возможность отключить определённые скрипты на сайте? Просто я хотел заменить скрипт на свой, но для начала мне нужно отключить скрипт с сайта
Вы уверены, что хотите взломать сайт?
Или все-таки хотите отключить скрипты на странице в своем браузере?
Во втором случае я это делал через юзер-скрипты, правда убил уйму времени, т.к. вызовы загрузок этих скриптов отображались как заблокированые в логах красным цветом. Я отложил это дело, потом со временем понял, что это работа расширения блокировщика рекламы. В идеале я получил, что у меня вырезались скрипты по ключевым словам, как встроеные в страницу, так и загружаемые со стороны. Получил что-то вроде proxomitron-a, легендарной программы, позволяющей делать со страницами что угодно. Сейчас она не работает, в связи с проблемами шифрования.
Скрипт можно заблокировать блокировщиком рекламы. (вы не пользуетесь блокировщиками? вы сумасшедший?)
В большинстве случаев и блокировать ничего не надо, достаточно подменить нужные части на уровне js:
1. запустить скрипт по document-start;
2. повесить геттер на глобальную переменную(если есть) или подменить стандартные вещи (напр. XMLHttpRequest).
Aetae, заинтересовал ваш комментарий. Что такое геттер и о каких глобальных переменных речь? Я конечно знаю, что в расширениях указав document-start можно выполнить контент-скрипт еще до готовности дерева элементов, а следовательно и скриптов. Но как это может помочь предотвратить исполнение произвольного встроенного скрипта со страницы? Был бы признателен за пример.
Надим Закиров, если скрипт творит какую-то магию, ничего вокруг не трогая - то никак.
Но обычно скрипты что-то делают.
Например если этот скрипт устанавливает глобальную переменную, допустим "Util", которая используется после, то можно сделать так
Ну и т.д. и т.п., практически все базовые объекты доступны для изменения, а значит позволяют внедряться.
Конечно не всегда так можно сделать, но чаще всего.
qqignatqq, идём сюда: jsnice.org и делаем код читаемым. Дальше смотрим, оппа, там используется Object.freeze на объект конфигурации сразу после создания, типа безопасность, а на самом деле как раз удобное место внедрения:
Всего делов.
Будет ли это работать не скажу, так как должна быть предусмотрена защита на сервере.
Также добавлю, что я не одобряю и не несу ответственности за любые противоправные и нарушающее лицензию действия, произведённые с использованием данного элементарного кода.) Оный приведён здесь лишь в качестве примера.
Aetae, понял. Я уж было подумал, что есть какой-то хитрый способ перехватить и отредактировать тело запроса) Нет, в принципе такой способ есть, но он слишком сложный и ненадежный (грузим сайт по ajax и после обработки показываем данные в текущей вкладке).
Aetae, увы, нельзя. Тело запроса нынче отредактировать нельзя в целях безопасности, заголовки - пожалуйста, а вот тело ни-ни. Раньше было можно, кстати, находил старые темы на формах, где описывался способ.
Aetae, даже не знаю. Но мне паре месяцев назад очень надо было отредактировать тело запроса, чтобы вырезать из него проверку на iframe. Перерыл все и вердикт был такой, что именно в Chrome это напрямую сделать никак нельзя, не позволяют политики безопасности. Возможно на Firefox это разрешено, но под него я никогда ничего не писал, да и не умею.
Будет ли это работать не скажу, так как должна быть предусмотрена защита на сервере.
Также добавлю, что я не одобряю и не несу ответственности за любые противоправные и нарушающее лицензию действия, произведённые с использованием данного элементарного кода.) Оный приведён здесь лишь в качестве примера.
это был байт. всё, за тобой выехали.
а если серьёзно, то у первого в рейтинге счёт 1229 и я понятия не имею, как он набил столько очков. либо это сами программисты-создатели себе призы выигрывают, либо сам этот парень как-то хакнул систему. А код, который ты привёл - я завести не смог. или я не знаю, куда его вставлять...
qqignatqq, используйте нормальное расширение для юзерскриптов, которое поддерживает // @run-at document-start, наприер tampermonkey, а не непонятную хрень для домохозяек.