Блокировка ботов, посещающих платные URL
У меня есть приложение Laravel, которое обслуживает некоторый контент из внешних ссылок, платных ссылок. Проблема в том, что боты посещают все эти ссылки, и получение счета в конце месяца не так весело, когда эти боты делают 100000 запросов.
Как я могу ограничить доступ для ботов и других нежелательных посетителей?
2 ответа
Полностью согласен с @CharlesDuffy, теперь, если вы хотите что-то простое, вы можете изменить способ запроса предельной ставки Laravel. Проверьте этот пакет, сделанный Грэмом Кэмпбеллом.
Вы должны разрешать только аутентифицированным пользователям доступ к этим премиальным ссылкам с использованием промежуточного программного обеспечения аутентификации на соответствующем маршруте в routes/web.php
:
Route::get('linkWhichCostsYouMoney', function () {
// Only authenticated users may enter...
})->middleware('auth');
Смотрите документы Laravel.
Вы также можете попробовать запретить роботам получать доступ к платным страницам с помощью robots.txt. Это остановит только хороших ботов, а не плохих ботов.
Наконец, в зависимости от вашего приложения, может быть возможно кэшировать контент локально и избегать использования платных сервисов для каждого отдельного запроса. Если вы хотите, чтобы поисковые системы проиндексировали ваши страницы, включая платный контент, вы должны следовать по этому пути.