anton_reut
@anton_reut
Начинающий веб-разработчик

Как защитить номер телефона в доске объявлений от парсинга?

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

Навскидку предполагаю несколько вариантов:
1. Генерировать номер в виде картинки "на лету" через встроенные в php функции которые создают jpeg или png картинки
2. Транслировать номер через некий встроенный iframe с блокировкой копирования текста или еще как-то
3. С помощью JS как-то отслеживать поведение посетителя на странице и только если поведение соответствует шаблону давать кликнуть "показать номер".

А как сделали бы вы? Интересно какие есть еще концепции? В целом, без кодов и прочего, интересны сами подходы.
  • Вопрос задан
  • 738 просмотров
Решения вопроса 4
l3ftoverz
@l3ftoverz
Туды сюды
Генерировать номер в виде картинки "на лету"
Распознать текст на картинке чуть сложнее, чем спарсить HTML.

Транслировать номер через некий встроенный iframe с блокировкой копирования текста или еще как-то
Захожу к тебе на сайте через headless браузер, скриню страницу, иду в пункт 1 и распознаю номер на картинке.

С помощью JS как-то отслеживать поведение посетителя на странице и только если поведение соответствует шаблону давать кликнуть "показать номер".
Это не возможно, вы не напишете универсальный вариант, люди непредсказуемы.

Всё ваще просто - делаешь кнопку "показать номер" и рекапчу туда.
Но и этот способ не защитит от:

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

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

У криптобиржи binance есть мобильное приложение.
Там есть капча, но капча она у них самописная.
Там надо провести фигурку до определенного места. И тогда проходит процесс авторизации или регистрации.

Если найдешь подобный скрипт или напишешь сам, то ты можешь попробовать применить у себя.
Причем сам номер показывать после прохождение капчи, отдельным запросом.
Ответ написан
Jump
@Jump
Системный администратор со стажем.
Как защитить номер телефона в доске объявлений от парсинга?
Никак. Можно только усложнить парсинг.

1. Для этого есть всякие RuCaptcha и подобные сервисы, подключаемся, отправляем картинку, получем номер. Если не сильно замусоренно будет, то Tesseract все сделает.
2.Это что за блокировка копирования? Если уж вы покажете, то достать не проблема.
3.Тут же обнаружится, что половина пользователей ведут себя неправильно и не видят номер. А парсеры прекрасно работают.

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

Есть гарантированно рабочий вариант - показывать телефон только зарегистрированным пользователям. Спрашиваем у пользователя ФИО, номер телефона, регистрируем, и просим 10рублей за просмотр объявления.

как можно защитить такой вид персональных данных как телефонный номер продавца в объявлении
Сам по себе номер не является ПД, и уж точно защите не подлежит - доска объявлений как раз предоставляет услуги по публикации номера, а не по его сокрытию!

Ведь нельзя позволить тупо спарсить номер роботам чтобы номера потом попадали в "черные" базы для спама.
Просто не надо публиковать на досках объявлений телефон, для этого.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
mykmykpet
@mykmykpet
Как гуглить ошибки: https://youtu.be/Y8rtcVzFB-c
Где-то мне попадалось на глаза, что какая-то из больших досок (возможно, даже Авито) показывала на сайте не прямой номер продавца, а номер из своего пула, звонок на который переадресовывался на настоящий номер. Правда, на тот момент это было в статусе эксперимента, а за развитием я не проследил.
Но этот способ слишком затратный и эффективность, кмк, сомнительна.
Ответ написан
php666
@php666
PHP-макака
В качестве учебного проекта не надо раздувать из мухи слона. Это первое и самое важное.
Пока на твой сайт не натравлен специальный робот - никто и никогда просто так не распарсит не изображение, ни иные механизмы. А поскольку ты не Авито, то это мнимая защита.

У меня на сайте объявлений вот так сделано по части email-адресов. Запрос уходит вида
/advert/frontend-ajax-get-email/id/110013/hash/8f3... - где последний параметр - хэш от email и соли. Не зная соли (и в целом алгоритма создания хэша) ты не получишь в ответе email, вот пример с невалидным хэшем:
/advert/frontend-ajax-get-email/id/110013/hash/8f3...

это 100% способ защиты от большинства парсеров и ПС.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы