Здравствуйте, я новичок в программировании js. Возникает вопрос, js код выполняется в браузере так, значит можно перехватить определенные функции и подменить ответ? То есть существует некий сайт который с помощью js берет какую-нибудь информацию о моем браузере(user agent, шрифты, список плагинов итд). Озночает ли это, что я могу создать свой скрипт и заставить мой браузер перехватывать данные запросы и подменять результаты. Например пусть перехватывают user agent , отправляют на сервер и исходя из этого дальше отправляют тех кто использует опера на один сайт, тех кто мозиллу на другой(либо уже другой js на сайте выполняет сортировку, без задействования сервера). Возможно ли реализовать перехват этой функции и подмены, чтобы с мозиллы отправился запрос с результатом что мол опера и сервер отправил меня на сайт для оперы. Если да, то ткните куда копать(писать свой плагин для этих целей или есть готовый плагин который будет внедять мой js-перехватчик на определенных сайтах)
P. S. пример грубый и извращенный, знаю что можно подменить UA плагинами итд, но интересует именно возможность решения подобных задач, перехватом и подменой js.
Да, в общем случае вы можете подменить скрипт некоего сайта своим, модифицированным скриптом. Но если авторы этого сайта всерьез опасаются таких подмен, они могут делать проверки, не подменили ли их скрипт. Ну типа md5(someFunction.toString()) и отправлять эту информацию тоже. И если каждый раз они ожидают уникальный хеш, вам будет довольно сложно сделать подмену.
В любом случае, проще делать это через настройки браузера и плагины. Если интересно, почитайте про tor browser, а заодно про всякие whonix и типа того.
Полменыть можно через прелоад скрипты. Я так работал для перехвата функции аддэвентлистенер и инжектирования в нее и в функции которые задаются на события логгеров, а так же боролся с фингерпринтом. Было бы желание.
можно немного поподробнее куда копать, где взять инфу, просто совсем зеленый в js и тем более в пользовательских скриптах, установил себе greasemonkey, но он выполняет свои скрипты после прогрузки страницы(не знаю важно это для меня или нет, думаю пока нет для старта пойдет) или можно написать свой плагин который будет встраивать мой скрипт в страницы?
User agent и без того каждый раз приходит на сервер вместе с объектом request-a.
Тыкаю: Node.js.
получаешь запрос с клиента > сверяешь что тебя интересует в ua > рендеринг соответствующей страницы и отправка страницы на клиент.
спасибо, но меня интересует не серверная часть, то есть я использую браузер, который заходит на сайт(не мой сайт, а любой) , на сайте есть куча скриптов, эти скрипты выполняются и получают результаты, дальше в зависимости от этих результатов происходит событие, так вот мне нужно внедрить в свой браузер свой js-скрипт, который будет перехватывать те функции и подменять результат, либо внедряться в сами функции и менять результат в них, ну либо после выполнения функций переопределить полученный результат до того, как следующие функции его(результат) прочитают и вызовут нужное событие