Задать вопрос

Как защитить SPA от парсинга?

Планируем построить SPA на Nuxt/Vue.js на фронте и Laravel для API.
И вопрос защиты от парсинга пока не можем решить.
Есть 2 проблемы, которые мы пытаемся решить:
  1. API должен убедиться что запросы получает с сайта, а не из других источников (curl, postman, php).
  2. Блокировать открытие сайта в эмуляторах браузеров, например ломанный Selenium.

Остальные вопросы решает платная защита от CloudFlare.
  • Вопрос задан
  • 1134 просмотра
Подписаться 5 Простой 4 комментария
Решения вопроса 1
NeiroNx
@NeiroNx
Программист
Никак, все что вы покажете пользователю - будет распарсено(если в этом будет хоть какой то профит), даже если картинкой отдавать.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 6
2ord
@2ord
Не претендуя на новизну, можно вести учет количества запросов в минуту и по превышению порога начинать вставлять палки в колеса:
вставлять капчи, спрашивать о чем-либо.

Минусы:
1. на рынке есть много решений для обхода популярных препятствий и может найтись решение "под ключ" для частного веб-сайта.
2. вероятность случайной блокировки относительно более "интересующихся" пользователей.
3. учет количества запросов обходится использованием пула прокси.

Магазин с товарами это не спасет и решения противодействию всегда найдутся.

Ваши ресурсы стоит направить на более целесообразную разработку.
Ответ написан
Комментировать
Mike_Ro
@Mike_Ro
Python, JS, WordPress, SEO, Bots, Adversting
API должен убедиться что запросы получает с сайта а не из других источников (curl,postman,php).

Элементарно.
Блокировать открытие сайта в эумляторов браузеров, например ломанный Selenium.

Selenium это не эмулятор браузеров. "Ломанный" selenium это как?
Остальные вопросы решает платная защита от Cloud Flare.

Не решает, даже Яша и Гугл. Вопрос лишь в стоимости преодоления зашиты, в Вашем случае она находится в диапазоне "дешево-средне".

Либо сделайте официальный api с ограничениями, либо используйте "теневой бан" для ботов и передавайте им информацию средней верности.
Ответ написан
mayton2019
@mayton2019
Bigdata Engineer
А что ценного школьники парсят с вашего сайта?
Предложите подписку за деньги. Пускай платят и качают CSV файлами снапшоты данных.

Нужно сделать безсмысленной саму идею парсинга.
Ответ написан
@Kostik_1993
Web Developer
Все эти защиты можно обойти. Но самое главное что этими защитами вы можете навредить своим пользователям. Повысьте ценность своего проекта и его бренда. Вкладывайтесь в рекламу и развитие, обычно именно это становится основным преимуществом перед конкурентами
Ответ написан
Комментировать
1. никак
2. никак
Ответ написан
@calculator212
Защититься можно частично и в основном от тех для кого парсинг это не основная сфера деятельсти. В первом случае можете попробовать проверять агенты в заголовках, можно также сделать как делает ютуб/гугл и т.д. сначала загружают основной скрипт, который потом подгружает данные и большинство простых парсеров отваливаются, т.к. запросов слишком много и искать откуда и как берутся данные долго и сложно. От селениума нет особого смысла защищаться, те кому это нужно найдут обходные пути, вероятно простые пользователи будут больше страдать от вашей защиты.
Самый нормальный вариант сделать платное/бесплатное апи, чтобы те кому нужны данные для парсинга не долбили ваш сайт, ну мб простую защиту от новичков имеет смысл сделать
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы