безопасность slim 3, RESTful API

Я знаю, как реализовать аутентификацию на основе токенов. Но я обеспокоен действиями пользователей, такими как регистрация, вход в систему или проверка, против атакующих ботов. Я могу представить себе бота, делающего запросы по поддельным номерам телефонов, и мой SMS или почтовый сервер ответит на все из них! Или тысячи зарегистрированных пользователей находятся в таблице пользователей в базе данных, которые они являются поддельными и не проверены. Я знаю некоторые стратегии брандмауэра, чтобы блокировать подобные атаки и трафик на сетевом уровне. Но возможно ли обезопасить «неаутентифицированные» действия HTTP с помощью кода Captcha или другим способом?

Если да, то как можно отправить изображение капчи с сервера API клиенту? в RAW? если возможна отправка капчи, то как найти капчу для какого клиента? Сессия может помочь?

Спасибо за внимание.

0

Решение

Вы могли бы реализовать форму перехвата CSRF (межсайтовый запрос), чтобы избежать этого. Я использую комбинацию полей CSRF и honeypot. Вот основное краткое изложение:

  1. Сервер заполняет поле с помощью входного тега скрытого типа, содержащего значение, которое устанавливается на лету и сохраняется на сервере в качестве переменной сеанса.
  2. Форма также содержит текстовое поле (type = «text» или textarea), которое скрыто с помощью CSS.
  3. Когда форма размещена нами, токен скрытого значения (CSRF) должен соответствовать сохраненной версии сеанса, и
  4. Поле honeypot должно быть пустым.

Если тесты не пройдены, я отвечаю 401 или 404

Reg-боты обычно заполняют поля honeypot, а некоторые достаточно умны, чтобы обойти CSRF — я регистрирую все попытки, которые не проходят эти тесты, и фиксирую довольно много попыток ботов.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]