Лучший опыт

7 способов защитить сайт от ... Как защитить свой сайт от парсинга?

Как защитить свой сайт от парсинга?...

7 способов защитить сайт от парсинга и как их обойти! В этой статье рассмотрим несколько известных методов защиты контента вашего сайта от автоматического парсинга. Kаждый из способов обладает своими достоинствами и недостатками, поэтому выбирать нужно исходя из конкретной ситуации. Кроме этого, ни один из этих методов не является панацеей и практически для каждого есть свои пути обхода, которые отметим.

1. Блокировка по IP — адресу от парсинга

Самым простым и распространенным способом определения попыток парсинга сайта является анализ частоты и периодичности запросов к вашему сайту. Если с какого-то IP — адреса запросы идут слишком часто или их слишком много, то этот адрес блокируется и чтобы его разблокировать часто предлагается ввести капчу (capcha). Самое главное в этом способе защиты — найти границу между естественной частотой пользователей и количеством запросов, и попытками парсинга вашего сайта чтобы не заблокировать обычных пользователей. Обычно это определяется посредством анализа поведения нормальных пользователей сайта. Примером использования этого метода может быть Google, который контролирует количество запросов с определенного адреса и выдает соответствующее предупреждение с блокировкой IP — адреса и предложением ввести капчу. Есть сервисы (вроде distilnetworks.com), которые позволяют автоматизировать процесс отслеживания подозрительной активности на вашем сайте и даже сами включают проверку пользователя с помощью каптчи. Обход этой защиты осуществляется посредством использования нескольких прокси-серверов, скрывающих реальный IP-адрес парсера.

как мы зарабатываем миллионы на парсинге?


2. Использование учетных записей пользователей

В этом способе защиты доступ к данным осуществляется только авторизованным пользователям. Это позволяет легче контролировать поведение пользователей и блокировать подозрительные аккаунты вне зависимости от того, с какого IP-  адреса работает клиент. Примером может служить Facebook, активно контролирующий действия пользователей и блокирующий подозрительных пользователей. Эта защита обходится путем создания (в том числе автоматического) множества учетных записей (есть даже специальные сервисы, которые торгуют готовыми учетными записями для известных социальных сетей, например buyaccs.com и bulkaccounts.com). Cущественным усложнением автоматического создания учетных записей может являться необходимость верификации аккаунта посредством сотового телефона с проверкой его уникальности (так называемые, PVA -Phone Verified Account). Но, в принципе, это тоже обходится путем покупки множества одноразовых SIM-карт.

Новое

3. Использование CAPTCHA (капча)

Это тоже распространенный метод защиты данных о парсинга. Здесь пользователю для доступа к данным сайта предлагается ввести капчу (CAPTCHA). Существенным недостатком этого способа можно считать неудобство пользователя в необходимости ввода. Поэтому этот метод лучше всего применим в системах, где доступ к данным осуществляется отдельными запросами и не очень не часто. Примером использования капчи для защиты от автоматического создания запросов могут служить решения для проверки позиции сайта в поисковой выдаче. Обходится капча посредством программ и сервисов для ее распознаванию. Они делятся на две основные категории: автоматическое распознавание без участия человека (OCR, например программа GSA Captcha Breaker) и распознавания с помощью человека (когда где-то сидят люди и обрабатывают запросы на распознание картинок, например — сервис Bypass CAPTCHA). Человеческое распознание обычно более эффективно, но оплата в данном случае происходит за каждую капчу, а не один раз, как при покупке программы.

4. Использование сложной JavaScript — логики

В этом методе в запросе к серверу браузер отсылает специальный код (или несколько кодов), которые сформированы сложной логикой написанной на JavaScript. При этом, часто код этой логики обфусцирован (переведен в не читаемый формат) и размещен в одном или нескольких подгружаемых JavaScript-файлах. Типичным примером использования данного метода защиты от парсинга является Facebook. Обходится это посредством использования для парсинга реальных браузеров (например, с помощью библиотек Selenium, Mechanize или Chromium). Но это дает данному методу дополнительное преимущество: исполняя JavaScript парсер будет проявлять себя в аналитике посещаемости сайта (например Google Analytics), что позволит вебмастеру сразу заметить неладное.

5. Динамическое изменение структуры страницы

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

6. Ограничение частоты запросов и объемов загружаемых данных

Это позволяет сделать парсинг большого количества данных очень медленным и поэтому нецелесообразным. При этом, ограничения необходимо выбирать исходя из нужд типичного пользователя, что бы не снизить общее удобство пользования сайтом. Обходится это посредством доступа к сайту с разных IP адресов или учетных записей (симуляция многих пользователей).

7. Отображение важных данных в виде картинок

Данный способ защиты контента позволяет усложнить автоматический сбор данных (например, цен), при этом сохранив визуальный доступ к ним со стороны обычного пользователя. Часто на картинки заменяются адреса электронной почты и телефоны, но некоторые сайты пытаются заменять картинками даже случайные буквы в тексте. Хотя ничто не мешает полностью выводить содержимое сайта в виде графики (будь то Flash или HTML 5), однако при этом может существенно пострадать то, как поисковые системы индексируют сайт. Минус этого способа не только в том, что не весь контент не будет индексироваться поисковиками, но и в том, что исключается возможность пользователю скопировать данные в буфер обмена. Обходится такая защита сложно, скорее всего нужно применять автоматическое или ручное распознавание картинок, как и в случае капчи.