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

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

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

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

А как сделали бы вы? Интересно какие есть еще концепции? В целом, без кодов и прочего, интересны сами подходы.
  • Вопрос задан
  • 1205 просмотров
Решения вопроса 3
CityCat4
@CityCat4 Куратор тега Информационная безопасность
Внимание! Изменился адрес почты!
Обычно показывают только часть номера, для показа полного номера по нему нужно кликнуть
Ответ написан
@Kirill-Gorelov
С ума с IT
Не претендует на супер метод, но хотя обратить на это внимание можно.

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

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

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

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

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

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

Ведь нельзя позволить тупо спарсить номер роботам чтобы номера потом попадали в "черные" базы для спама.
Просто не надо публиковать на досках объявлений телефон, для этого.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
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% способ защиты от большинства парсеров и ПС.
Ответ написан
Ваш ответ на вопрос

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

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