Методы защиты от веб скрапинга
- 20.02.2018
- JavaScript News Scraping Большие данные Веб скрапинг Машинное обучение
- 0
Вы не сможете выстроить абсолютную защиту своих данных. Вернее сможете, но на это понадобится бесконечное количество времени и ресурсов. За это время ваша информация, скорее всего, утратит актуальность, а вы потеряете конкурентоспособность.
Поэтому следует взвешенно подходить к защите своих данных. Например, если вы стартап, вам нет смысла делать эшелонированную защиту с круглосуточным мониторингом, так как вы только начинаете развиваться и вероятность массированной профессиональной атаки довольно мала. Но выполнить минимальные усилия по защите данных вы обязаны, иначе можно потерять свое преимущество еще на старте.
С другой стороны, большая корпорация не может себе позволить “сначала попробовать”. Вы обязаны заниматься безопасностью задолго до старта. Возможно это даже будет параллельная разработка с вашим основным продуктом.
Итак, мы выделяем два уровня глубины защиты:
- Применение ограниченных ресурсов
a. Используйте защиту от SQL injection и их аналогов
b. Правильно оформите robots.txt
c. Не делайте простые ссылки вида /topic/11 /topic/12. Это плохая идея, так в свое время скачали огромные массивы данных у Фейсбука, которому пришлось перестраивать алгоритмы построения ссылок и структуру базы данных
d. Ограничивайте результаты поиска (10, 20 на странице поиска, не более)
e. Ограничивайте активность с одного IP-адреса (количество и продолжительность сессий)
f. Прячьте основную информацию за авторизацией (полезно для бана плохих пользователей, если есть хорошие на том же IP-адресе)
g. Регулярно проверяйте логи на предмет необычной активности
h. Не говорите причину, почему забанили. Или говорите фиктивную (и код ошибки для нормальных пользователей) - Применение почти неограниченных ресурсов
a. Используйте динамический UI (JS, AJAX, и т.д.) но аккуратно, так как поисковые роботы могут не рендерить JS. Используйте только для своей страницы поиска
b. Капча все еще работает — используйте ее
c. Проверяйте как посетители работают с UI (как быстро заполняется форма, куда конкретно кликают по кнопке, скачивает ли браузер CSS/статику, либо же скрапер подгружает только HTML)
d. Сразу ограничьте список IP популярных прокси сервисов
e. Проверяйте User Agent
f. Проверяйте Referer
g. Проверяйте куки (кладите туда специальные ключи)
h. Обфускация помогает сделать код трудно обрабатываемым для скраперов не ухудшая его функциональность
i. Введите авторизацию для API, даже для внутреннего
j. Делайте HTML-разметку уникальной (разная разметка в зависимости от просматриваемой страницы, локации пользователей, времени суток)
k. Меняйте вашу уникальную разметку время от времени
l. Обманывайте обманщиков (если точно уверены что вас ломают — отдавайте фейковые данные и побольше, побольше!). Для данного метода существует специальный термин — honeypot data)
m. Оформите robots.txt, Terms of Service и найдите хорошего юриста
n. Дайте людям простой и контролируемый способ взаимодействия с вами через открытую API и они не будут пытаться вас обмануть
Выводы: действенные методы защиты от веб скрапинга
Не стоит думать, что если вы выполнили все требования, то вы в полной безопасности. Вполне возможно что ОНИ выдумали что-то новенькое. Вашей команде следует постоянно анализировать поведение ваших пользователей и посетителей. К сожалению, данная процедура потребует затрат времени и финансовых ресурсов, но это жизненно необходимо для любого проекта.
Что же делать, если потребность в защите уже очевидна, а специалистов данного профиля в команде еще нет? Основной способ решения данного вопроса — передача работы по защите от веб скрапинга на удаленное обслуживание высококвалифицированным специалистам с большим опытом. В будущих статьях мы расскажем о том, как защитить контент веб-сайта, используя минимально необходимое или достаточно большое количество ресурсов — или о том, как обойти эту защиту.
Похожие записи
Наиболее важные и интересные новости, произошедшие и происходящие в компании, расположены здесь.