Существуют ли такие способы разработки фронтэнд приложения, чтобы во время его работы в проде, ботам было сложнее определять путь к api endpoint, например отвечающий за login page - это уменьшит число ложных срабатываний.
Но бороться можно.
Первое это капча на второй неверный логин и на первую регистрацию.
Второе это UserAgent header это конечно отсечет всех самых тупых, но и то мясо
третье это увеличение времени в 2 раза при каждой неудачной попытке логина
четвертое логирование адресов и добавление их в черный список, возможно с тайм лимитом
Это все относится к публичным апи типа логина или поиска
Два уточнения:
1) третье это увеличение времени в 2 раза при каждой неудачной попытке логина - это реализовано через waf или самим кодом? Или может через api gateway?
2) Все остальные просто посылают если нет токена - что имеется ввиду, кто посылает?
Вадим, все это в коде. Саму концепцию waf я считаю ущербной. Какое то внешнее приложение делает догадки как должно быть используя кучу ресурсов.
1. да в коде вашего api
2. тоже ваше api
Тут еще уточнение на сервере формируйте ключ для клиента, если он первый раз то выводите капчу, если во второй и не передал ключ то в игнор. Смысл в том что в первом запросе вы для анонимного запроса делаете уникальный ключ, а клиент уже им подписывает , если подпись не совпадает то это бот
Если кто-то захочет написать бота для вашего API, он напишет. Так что советую не париться. Ну или начинать с другого конца, бороться с ботами по факту, использовать механизмы их выявления и блокировки.