CoderCastrov logo
CoderCastrov
JavaScript

Методы защиты от веб-парсинга

Методы защиты от веб-парсинга
просмотров
3 мин чтение
#JavaScript

Image

Вы не сможете выстроить абсолютную защиту своих данных. Вернее сможете, но на это понадобится бесконечное количество времени и ресурсов. За это время ваша информация, скорее всего, утратит актуальность, а вы потеряете конкурентоспособность. Поэтому следует взвешенно подходить к защите своих данных. Например, если вы стартап, вам нет смысла делать эшелонированную защиту с круглосуточным мониторингом, так как вы только начинаете развиваться и вероятность массированной профессиональной атаки довольно мала. Но выполнить минимальные усилия по защите данных вы обязаны, иначе можно потерять свое преимущество еще на старте.

С другой стороны, большая корпорация не может себе позволить “сначала попробовать”. Вы обязаны заниматься безопасностью задолго до старта. Возможно это даже будет параллельная разработка с вашим основным продуктом.

Итак, мы выделяем два уровня глубины защиты:

Применение ограниченных ресурсов

  1. Используйте защиту от SQL инъекций и их аналогов

  2. Правильно оформите robots.txt

  3. Не делайте простые ссылки вида /topic/11 /topic/12. Это плохая идея, так в свое время скачали огромные массивы данных у Фейсбука, которому пришлось перестраивать алгоритмы построения ссылок и структуру базы данных

  4. Ограничивайте результаты поиска (10, 20 на странице поиска, не более)

  5. Ограничивайте активность с одного IP-адреса (количество и продолжительность сессий)

  6. Прячьте основную информацию за авторизацией (полезно для бана плохих пользователей, если есть хорошие на том же IP-адресе)

  7. Регулярно проверяйте логи на предмет необычной активности

  8. Не говорите причину, почему забанили. Или говорите фиктивную (и код ошибки для нормальных пользователей)

Применение почти неограниченных ресурсов

  1. Сразу ограничьте список IP популярных прокси-сервисов

  2. Проверяйте User Agent

  3. Проверяйте Referer

  4. Проверяйте куки (кладите туда специальные ключи)

  5. Обфускация помогает сделать код трудно обрабатываемым для парсеров не ухудшая его функциональность

  6. Введите авторизацию для API, даже для внутреннего

  7. Делайте HTML-разметку уникальной (разная разметка в зависимости от просматриваемой страницы, локации пользователей, времени суток)

  8. Меняйте вашу уникальную разметку время от времени

l2. Обманывайте обманщиков (если точно уверены что вас ломают — отдавайте фейковые данные и побольше, побольше!). Для данного метода существует специальный термин — honeypot data)

  1. Оформите robots.txt, Terms of Service и найдите хорошего юриста

  2. Дайте людям простой и контролируемый способ взаимодействия с вами через открытую API и они не будут пытаться вас обмануть

Выводы: действенные методы защиты от веб парсинга

Не стоит думать, что если вы выполнили все требования, то вы в полной безопасности. Вполне возможно что ОНИ выдумали что-то новенькое. Вашей команде следует постоянно анализировать поведение ваших пользователей и посетителей. К сожалению, данная процедура потребует затрат времени и финансовых ресурсов, но это жизненно необходимо для любого проекта.

Что же делать, если потребность в защите уже очевидна, а специалистов данного профиля в команде еще нет? Основной способ решения данного вопроса — передача работы по защите от веб парсинга на удаленное обслуживание высококвалифицированным специалистам с большим опытом. В будущих статьях мы расскажем о том, как защитить контент веб-сайта, используя минимально необходимое или достаточно большое количество ресурсов — или о том, как обойти эту защиту.

Наиболее важные и интересные новости, произошедшие и происходящие в компании, расположены здесь.


Originally published at itsvit.com on February 20, 2018.