Как защитить публичные конечные точки без аутентификации и метода авторизации - PullRequest
1 голос
/ 27 июня 2019

Как предотвратить использование общедоступных конечных точек вне контекста веб-приложения?

У меня есть веб-приложение, разработанное в ReactJS, и оно использует публичный API, разработанный на C # с Net Core 2.0.Некоторые конечные точки являются общедоступными, это означает, что эти конечные точки не используют какой-либо метод аутентификации или авторизации.Итак, как я могу защитить эти общедоступные конечные точки, чтобы предотвратить их использование вне контекста моего веб-приложения, например, не использовать конечные точки, например, для Postman, и предотвратить атаку со стороны бота.

В Cors включены: происхождение -> "", заголовки -> "" и методы -> "*".Приложение может быть использовано из любой части мира.

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

1 Ответ

3 голосов
/ 27 июня 2019

Если общедоступный API-интерфейс не использует аутентификацию и авторизацию, вы не можете контролировать его использование (кроме функций, подобных брандмауэру, таких как диапазоны IP-адресов).

Перенаправление капчи не поможет вам: выпотерять возможность беспрепятственного использования API в вашем приложении: простым щелчком по «инструментам разработчика» в браузере каждый может вызывать его побайтно, как при использовании в вашем приложении.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...