В настоящее время я создаю свой первый API. Я знаю, как настроить все конечные точки и делать то, что я хочу с ними. Проблема, с которой я сталкиваюсь, заключается в том, что я не хочу, чтобы кто-либо мог посетить site.com/api/example
и получить от него данные. Какие методы/концепции доступны, чтобы убедиться, что только мое приложение имеет доступ к API. Я собираюсь получить POST и ПОЛУЧИТЬ эти конечные точки, используя как Javascript, так и PHP.Как мне сделать так, чтобы мой API был доступен только через мое приложение (Javascript и PHP)?
Любая помощь вообще на этом была бы весьма признательна, спасибо!
Насколько я знаю, вы не можете сделать это на 100% безопасным, так как для этого вам нужен javascript (который выполняется в браузере пользователей и его можно манипулировать). Однако вы можете сделать это сложнее для людей, добавив некоторые CSRF-проверки. –
@MagnusEriksson Это вызывает другой вопрос. Если API только возвращает данные, которые уже все время выводят на сайт, действительно ли это имеет значение, если оно безопасно? Теперь конечным точкам, которые мне нужны POST, потребуется что-то, чтобы подтвердить его подлинный запрос с сайта. Я планирую опубликовать комментарии и комментарии AJAX с учетной записью пользователя или IP-адресом. –
Для публикации данных вы должны определенно использовать некоторую защиту ['CSRF'] (https://www.owasp.org/index.php/Cross-Site_Request_Forgery_ (CSRF) _Prevention_Cheat_Sheet). Что касается блокировки API вниз, все зависит от данных. Некоторые сайты хотят, чтобы люди обращались к любым данным через свой сайт, а не просто извлекали данные напрямую. Если это не проблема для вас, то нет, вам, вероятно, не нужно пытаться ее заблокировать. –