Возможность включить поиск только для авторизованных пользователей?

Я пробую это, но прямые ссылки на страницы поиска теперь просто возвращают этот JSON:

{
  "failed":"FAILED",
  "message":"You’ve performed this action too many times, please try again later."
}

Есть ли другой способ это сделать?

Причина, по которой я не могу позволить анонимным пользователям искать по форуму, заключается в том, что изощрённый бот собирает данные с помощью запросов вроде этого:

/search?q=%40UserName+%23general+in%3Afirst

Похоже, они составляют карту пользователей и их контента для какого-то вида задачи по добыче данных. Чтобы защитить данные пользователей, я хочу предотвратить любой анонимный доступ к поиску. Проблема в том, что есть внутренние ссылки на страницы поиска, поэтому любой, кто не вошёл в систему, столкнётся с этим некорректным JSON-сообщением.

Я отредактировал темы так, чтобы поисковая строка не была видна до входа в систему, но любой анонимный пользователь, который кликнет по существующей ссылке на результаты поиска, получит этот JSON.

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

1 лайк