Я работаю над приложением angular js
и попытался сделать простую страницу входа в систему и попытался запросить мой API-интерфейс для аутентификации моего входа в систему. Вот что и как я планировал сделать.Как защитить мой вызов api от атаки CSRF
Примечание: Я предполагаю, что сервер отвечает за проверку моего токена и запроса.
Обеспечение username
password
к серверу через API
вызова. При получении аутентификации сервер будет генерировать token
для моего приложения (через которое я сделал звонок). Я сохранил это в своем браузере COOKIE
. Этот файл cookie (токен auth) будет использоваться в дальнейшем приложением, чтобы каждый HTTP-вызов был передан API.
Теперь этот подход работает для меня отлично, но я считаю, что он открыт для CSRF attack
.
Чтобы избежать CSRF attack
моего браузера, я предоставляю идентификатор APP или (идентификатор версии) в свой код, который также отправляется с файлом cookie в API для http call
.
Идея использования этой версия идентификатора или идентификатора приложения, это может рассматриваться в качестве подписи моего кода, т.е. запрос исходит от подписанных (проверено) приложений, который отведенные token
=cookie
значения.
Я просто хочу знать, насколько лучше мой подход и насколько он безопасен для моей основной точки приложения и для моего основного (широкого проекта) приложения.
Здесь я пытаюсь показать с помощью грубой схеме
извинения за этот крошечный вид и плохой почерк диаграммы.
* «Я сохранил это в COOKIE моего браузера» * прекратите это. Предоставляя эту информацию через файл cookie, любые запросы, отправленные сторонними расширениями (или консолью пользователя), также будут содержать этот файл cookie автоматически, даже не нуждаясь в его чтении. –
Не сохраняйте токен в качестве файла cookie, а затем передавайте его с каждым запросом через TLS-соединение. – Devon
У меня есть одностраничное приложение, как мое приложение поймет, что пользователь уже вошел в систему, когда страница перезагружается. – amoeba