Методы защиты от веб-парсинга
Table Of Content
Вы не сможете выстроить абсолютную защиту своих данных. Вернее сможете, но на это понадобится бесконечное количество времени и ресурсов. За это время ваша информация, скорее всего, утратит актуальность, а вы потеряете конкурентоспособность. Поэтому следует взвешенно подходить к защите своих данных. Например, если вы стартап, вам нет смысла делать эшелонированную защиту с круглосуточным мониторингом, так как вы только начинаете развиваться и вероятность массированной профессиональной атаки довольно мала. Но выполнить минимальные усилия по защите данных вы обязаны, иначе можно потерять свое преимущество еще на старте.
С другой стороны, большая корпорация не может себе позволить “сначала попробовать”. Вы обязаны заниматься безопасностью задолго до старта. Возможно это даже будет параллельная разработка с вашим основным продуктом.
Итак, мы выделяем два уровня глубины защиты:
Применение ограниченных ресурсов
-
Используйте защиту от SQL инъекций и их аналогов
-
Правильно оформите robots.txt
-
Не делайте простые ссылки вида /topic/11 /topic/12. Это плохая идея, так в свое время скачали огромные массивы данных у Фейсбука, которому пришлось перестраивать алгоритмы построения ссылок и структуру базы данных
-
Ограничивайте результаты поиска (10, 20 на странице поиска, не более)
-
Ограничивайте активность с одного IP-адреса (количество и продолжительность сессий)
-
Прячьте основную информацию за авторизацией (полезно для бана плохих пользователей, если есть хорошие на том же IP-адресе)
-
Регулярно проверяйте логи на предмет необычной активности
-
Не говорите причину, почему забанили. Или говорите фиктивную (и код ошибки для нормальных пользователей)
Применение почти неограниченных ресурсов
-
Сразу ограничьте список IP популярных прокси-сервисов
-
Проверяйте User Agent
-
Проверяйте Referer
-
Проверяйте куки (кладите туда специальные ключи)
-
Обфускация помогает сделать код трудно обрабатываемым для парсеров не ухудшая его функциональность
-
Введите авторизацию для API, даже для внутреннего
-
Делайте HTML-разметку уникальной (разная разметка в зависимости от просматриваемой страницы, локации пользователей, времени суток)
-
Меняйте вашу уникальную разметку время от времени
l2. Обманывайте обманщиков (если точно уверены что вас ломают — отдавайте фейковые данные и побольше, побольше!). Для данного метода существует специальный термин — honeypot data)
-
Оформите robots.txt, Terms of Service и найдите хорошего юриста
-
Дайте людям простой и контролируемый способ взаимодействия с вами через открытую API и они не будут пытаться вас обмануть
Выводы: действенные методы защиты от веб парсинга
Не стоит думать, что если вы выполнили все требования, то вы в полной безопасности. Вполне возможно что ОНИ выдумали что-то новенькое. Вашей команде следует постоянно анализировать поведение ваших пользователей и посетителей. К сожалению, данная процедура потребует затрат времени и финансовых ресурсов, но это жизненно необходимо для любого проекта.
Что же делать, если потребность в защите уже очевидна, а специалистов данного профиля в команде еще нет? Основной способ решения данного вопроса — передача работы по защите от веб парсинга на удаленное обслуживание высококвалифицированным специалистам с большим опытом. В будущих статьях мы расскажем о том, как защитить контент веб-сайта, используя минимально необходимое или достаточно большое количество ресурсов — или о том, как обойти эту защиту.
Наиболее важные и интересные новости, произошедшие и происходящие в компании, расположены здесь.
Originally published at itsvit.com on February 20, 2018.