Я где-то читал, что большинство ботов не рендерит / не поддерживает JavaScript. Почему это так?
Простота реализации - вы можете читать исходные веб-страницы и публиковать формы с помощью всего десятка строк кода на языках высокого уровня. Я видел ботов, которые смехотворно плохи, например парсинг HTML с регулярными выражениями и неправильный ввод ../
в URL. Но это работает достаточно хорошо, по-видимому.
Однако запустить движок JavaScript и реализовать библиотеку DOM гораздо более сложная задача. Вам приходится иметь дело со сценариями, которые делают while(1);
, которые зависят от таймеров, внешних ресурсов, CSS, браузеров сниффа и делают много сумасшедших вещей. Объем работы, которую вам нужно сделать, быстро начинает выглядеть как написание полноценного движка браузера.
Это также вычислительно намного дороже, поэтому, вероятно, это не так выгодно для спаммеров - у них может быть немой бот, который молча рассылает 100 страниц в секунду, или полнофункциональный, который спамит 2 страницы в секунду и компьютер жертвы, как типичный веб-браузер.
Существует промежуточная точка в реализации простого простого взлома, специфичного для сайта, такого как заполнение определенного поля формы, если на странице обнаружен известный шаблон скрипта.
Итак, каковы шансы того, что кто-то сделает ботов для конкретного сайта? Я предполагаю, что мой сайт будет очень популярным. Насколько безопасна эта техника, учитывая это?
Это компромисс между затратами и выгодами. Если у вас высокий рейтинг страниц, много посетителей или что-то денежное или полезное для рассылки спама, то некоторые спамеры могут заметить вас и решить, что обход стоит своего времени. OTOH, если у вас просто есть личный блог или небольшой форум, есть миллион других незащищенных, ожидающих спама.