Защита от парсинга информации, подгружаемой через JS

12
BigBad
На сайте с 01.09.2009
Offline
104
2630

Вопрос заключается в следующем.

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

Передается серверу id объекта, возвращается дополнительная информация.

База дополнительной информации очень нужная и очень редкая. Соответственно встает вопрос с парсингом.

Хочется ограничивать количество запросов доп.инфы от одного пользователя в сутки.

В общем, помогите советом пожалуйста. Может у кого-нибудь были такие же задачи.

Аренда коттеджей на сутки в Екатеринбурге ( https://omodom.com )
Р
На сайте с 10.10.2011
Offline
63
#1

Если информация очень ценная, то парсить будут реальные люди, например индусы.

Самый простой вариант использовать капчу, самый сложный - написать собственный сайт, когда парсер придётся разрабатывать отдельно. В некоторой степени можно использовать плагины, например flash (выводить текст туда).

Посмотрите другие идеи здесь: http://www.blangdon.com/writing/about/browser-fingerprinting/

Разрешаю пользователям высокого мнения о себе и своих способностях минусовать мою репутацию )
BigBad
На сайте с 01.09.2009
Offline
104
#2
Романо:
Если информация очень ценная, то парсить будут реальные люди, например индусы.

Самый простой вариант использовать капчу, самый сложный - написать собственный сайт, когда парсер придётся разрабатывать отдельно. В некоторой степени можно использовать плагины, например flash (выводить текст туда).

Посмотрите другие идеи здесь: http://www.blangdon.com/writing/about/browser-fingerprinting/

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

Например, человек зашел, получил дополнительную информацию по трем объектам, и в следующий раз сможет получить информацию только через определенное время, например через сутки.

Т.к. можно написать робота, которые в 5 поток через прокси будет смотреть все это, спарсивание данных не займет много времени.

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

Флеш не подходит, т.к. на сайте треть трафика - мобильный трафик.

Сайт, естественно, уникальный. Движков не использовано сторонних.

Бродя по просторам, наткнулся на следующее:


1) Самое простое — ограничение на количество запросов с одного IP
2) При загрузке HTML странице в сессию записывайте какое-нибудь значение таймера, а при запросе json проверяйте как давно пользователь открывал страницу.

Но в любом раскладе остается вопрос с ограничением на количество обращений к дополнительной информации от незарегистрированных пользователей.

SeVlad
На сайте с 03.11.2008
Offline
1609
#3
BigBad:
Хочется ограничивать количество запросов доп.инфы от одного пользователя в сутки.

В общем, помогите советом пожалуйста.

Правда нужен совет? Даю - лечить параною. Потому что ограничивать пользователя - нельзя! Его нужно любить и мотивировать.

Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.
SocFishing
На сайте с 26.09.2013
Offline
118
#4

выводите информацию картинкой, + к картинке адрес вашего сайта.

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

пример генерации

http://papermashup.com/php-gd-generate-an-image-with-text-and-font-embedding/

все остальное более-менее парсится при разных условиях, основная защита может быть что-то типа запись всех запросов в базу данных. Где поле IP и поле Count, count + 1 при каждом клике. Скрипт ограничивает кол-во кликов для IP. Если делать что-то более-менее щадящее, то по крону можно обнулять count каждые 15 минут. При блокировке говорить пользователю, что привешен лимит зайдите через 15 минут.

★Сервис идентифицирует (https://socfishing.com/?utm_source=searchengines) посетителей вашего сайта и предоставляет их профили ВКонтакте, Телефон, Почта! Цены копеечные, работаем 8 лет.
C
На сайте с 20.09.2007
Offline
114
#5

Никак.

Вы только сможете ставить "заборы", которые одни пользователи не смогут перелезть из-за квалификации. Но не все. Но только будут ли этим заниматься?

А так от простого к сложному:

1. Блокировка по ip

2. Куки

3. Капча (не стандартная, и чтобы заколебывала)

4. Выплевывать JS (совместно с 1 и 2)

5. Указать почту - на нее придет код доступа. Если не пришел (или пришло сообщение): для этой почты ждите сутки.

6. Выплевывать JS на действие (усовершенствуйте свой - один JS вызывает другой с ключем) + куки с другого домена

7. Указать телефон - придет sms с кодом доступа.

p.s. Седьмой пункт может отпугнуть даже обычных посетителей - будут думать что подписки.

Ну и если текстовая информация - выводите изображением.

База дополнительной информации очень нужная и очень редкая

Чего за база? Дайте ссылку. :)

ИМХО, самые лучшие VDS: https://cp.inferno.name/aff.php?aff=4048
BigBad
На сайте с 01.09.2009
Offline
104
#6
SeVlad:
Правда нужен совет? Даю - лечить параною. Потому что ограничивать пользователя - нельзя! Его нужно любить и мотивировать.

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

И это не паранойя, а желание сохранить и приумножить, как говорится.

SocFishing:
выводите информацию картинкой, + к картинке адрес вашего сайта.
как это делает авито на телефоны. заметно усложнит парсинг, в добавок можно наложить мусора и водяной знак.

Авито парсится на раз-два. Вместе с телефонами.

censored!:
Никак.
Вы только сможете ставить "заборы", которые одни пользователи не смогут перелезть из-за квалификации. Но не все. Но только будут ли этим заниматься?

А так от простого к сложному:
1. Блокировка по ip
2. Куки
3. Капча (не стандартная, и чтобы заколебывала)
4. Выплевывать JS (совместно с 1 и 2)
5. Указать почту - на нее придет код доступа. Если не пришел (или пришло сообщение): для этой почты ждите сутки.
6. Выплевывать JS на действие (усовершенствуйте свой - один JS вызывает другой с ключем) + куки с другого домена
7. Указать телефон - придет sms с кодом доступа.
p.s. Седьмой пункт может отпугнуть даже обычных посетителей - будут думать что подписки.

Ну и если текстовая информация - выводите изображением.
Чего за база? Дайте ссылку. :)

1. Мобильный трафик в процентном отношении высок, так что по ip нельзя.

2. Куки естественно, но куки можно и курлом отдавать. Куки в разных браузерах разные. Куки чистятся даже домохозяйками, которые на форуме прочитали, что можно так сделать.

3. Думаю в этом направлении сейчас.

...

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

База, как база :) Вот проблемку эту решу, и дам ссылку сразу )

SeVlad
На сайте с 03.11.2008
Offline
1609
#7
BigBad:
И это не паранойя, а желание сохранить и приумножить,

Паранойя-паранойя. :) И похоже уже в тяжёлой стадии. Потому что

censored!:
Вы только сможете ставить "заборы", которые одни пользователи не смогут перелезть из-за квалификации. Но не все.

а любые заборы - препятствие для юзера. Чит: потеря аудитории (клиентов).

Причем тот, кто перелезет через забор - 100% не клиент. Таким образом для кого забор? Для клиента! Непонимание этого факта есть заболевание ответственного за клиента.

u3Bepr
На сайте с 03.03.2011
Offline
60
#8

ну еще можно смс-биллинг подключить: при запросе спрашивать телефон и слать смс и если все успешно - показывать контент

SeVlad
На сайте с 03.11.2008
Offline
1609
#9
u3Bepr:
ну еще можно смс-биллинг подключить: при запросе спрашивать телефон и слать смс и если все успешно - показывать контент

Отличное подтверждение своего ника :)

BigBad
На сайте с 01.09.2009
Offline
104
#10
SeVlad:
Паранойя-паранойя. :) И похоже уже в тяжёлой стадии. Потому что

а любые заборы - препятствие для юзера. Чит: потеря аудитории (клиентов).
Причем тот, кто перелезет через забор - 100% не клиент. Таким образом для кого забор? Для клиента! Непонимание этого факта есть заболевание ответственного за клиента.

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

А паранойя или нет, мне не интересно, мы не мое психическое состояние обсуждаем, а конкретно (как мне кажется) поставленный вопрос.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий