Я пробую это, но прямые ссылки на страницы поиска теперь просто возвращают этот JSON:
{
"failed":"FAILED",
"message":"You’ve performed this action too many times, please try again later."
}
Есть ли другой способ это сделать?
Причина, по которой я не могу позволить анонимным пользователям искать по форуму, заключается в том, что изощрённый бот собирает данные с помощью запросов вроде этого:
/search?q=%40UserName+%23general+in%3Afirst
Похоже, они составляют карту пользователей и их контента для какого-то вида задачи по добыче данных. Чтобы защитить данные пользователей, я хочу предотвратить любой анонимный доступ к поиску. Проблема в том, что есть внутренние ссылки на страницы поиска, поэтому любой, кто не вошёл в систему, столкнётся с этим некорректным JSON-сообщением.
Я отредактировал темы так, чтобы поисковая строка не была видна до входа в систему, но любой анонимный пользователь, который кликнет по существующей ссылке на результаты поиска, получит этот JSON.
Сегодня они обрушили на форум десятки тысяч запросов, прежде чем я это остановил.