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

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

 

1. Бан по IP адресу

Самым простым и распространенным способом определения попыток парсинга сайта является анализ частоты и периодичности запросов к серверу. Если с какого-то IP адреса запросы идут слишком часто или их слишком много, то этот адрес блокируется и чтобы его разблокировать часто предлагается ввести каптчу.

Самое главное в этом способе защиты — найти границу между естественной частотой и количеством запросов и попытками скрейпинга чтобы не заблокировать ни в чем не винных пользователей. Обычно это определяется посредством анализа поведения нормальных пользователей сайта.

Примером использования этого метода может служить Google, который контролирует количество запросов с определенного адреса и выдает соответствующее предупреждение с блокировкой IP адреса и предложением ввести каптчу.

Есть сервисы (вроде distilnetworks.com), которые позволяют автоматизировать процесс отслеживания подозрительной активности на вашем сайте и даже сами включают проверку пользователя с помощью каптчи.

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

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

В этом способе защиты доступ к данным осуществляется только авторизованным пользователям. Это позволяет легче контролировать поведение пользователей и блокировать подозрительные аккаунты вне зависимости от того, с какого IP адреса работает клиент.

Примером может служить Facebook, активно контролирующий действия пользователей и блокирующий подозрительных.

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

3. Использование CAPTCHA

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

Примером использования каптчи для защиты от автоматического создания запросов могут служить сервисы проверки позиции сайта в поисковой выдаче (например http://smallseotools.com/keyword-position/).

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

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

Здесь в запросе к серверу браузер отсылает специальный код (или несколько кодов), которые сформированы сложной логикой написанной на JavsScript. При этом, часто код этой логики обфусцирован и размещен в одном или нескольких подгружаемых JavaScript-файлах.

Типичным примером использования данного метода защиты от парсинга является Facebook.

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

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

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

С другой стороны, эти изменения могут делаться в ручном режиме где-то раз в месяц (или несколько месяцев). Это тоже существенно испортит жизнь парсерам.

Чтобы обойти такую защиту требуется создание более гибкого и «умного» парсера или же (если изменения делаются не часто) просто ручное исправление парсера, когда эти изменения произошли.

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

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

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

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

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

Минус этого способа не только в том, что не весь контент будет индексироваться поисковиками, но и в том, что исключается возможность пользователю скопировать данные в буфер обмена.

Обходится такая защита сложно, скорее всего нужно применять автоматическое или ручное распознавание картинок, как и в случае каптчи.


Оставьте свой e-mail и мы вас бесплатно проконсультируем

Способы взаиморасчетов

+наличный и безналичный расчет

Хотите получить больше информации?

В любое время суток вы можете написать нам на почту или отправить адрес своей почты. Ежедневно с 10:00 до 18:00 вы можете позвонить нам. Мы всегда рады быть вам полезны!


Наши контакты

Директор: +7 (960) 591-11-19
Заместитель Директора: +7 (960) 592-22-21
E-mail: info@quayside.ru

Связаться с нами

Back to top