Является ли использование заголовков для обмена токенами аутентификации между PHP, приложениями и несколькими доменами хPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Является ли использование заголовков для обмена токенами аутентификации между PHP, приложениями и несколькими доменами х

Сообщение Anonymous »

Я знаю, что это довольно очевидный вопрос, когда приложение отправляет токены на сервер, и что это действительно самый безопасный способ. Однако на стороне сервера иногда небезопасно раскрывать определенную информацию. Например, по соображениям безопасности нам нужно использовать Access-Control-Expose-Headers, чтобы показать некоторые данные сервера приложению через заголовок.
Я реализую система аутентификации на PHP с использованием токенов, которые будут использоваться в моем собственном домене, а также в других доменах, которые могут проходить аутентификацию через мой основной домен с разрешением CORS и в мобильных приложениях (Android и iOS).
В настоящее время я использую следующие заголовки, чтобы предоставить приложению токен моего сервера:

Код: Выделить всё

header("Access-Control-Expose-Headers: Authorization");
header('Authorization: Bearer ' . $token);
Клиент, получающий токен, сохраняет его и позже отправляет с каждым новым запросом. Мой сервер считывает токен, отправленный клиентом, также через заголовок, используя следующий код:

Код: Выделить всё

private function getAuthorizationToken() {
$token = $_SERVER['HTTP_AUTHORIZATION']
?? getallheaders()['Authorization']
?? $_SERVER['REDIRECT_HTTP_AUTHORIZATION']
?? null;

return $token ? str_replace('Bearer ', '', $token) : null;
}
Я хотел бы прояснить следующие вопросы:
  • Является ли текущий подход связь через заголовки является наиболее подходящей, или существуют ли уязвимости, которые мне следует учитывать?
  • Возможно ли или рекомендуется ли отправлять токены в теле запроса, а не через заголовки, учитывая стандарты безопасности и избегая использования Access-Control-Expose-Headers, чтобы раскрыть токен в заголовке?
  • Есть ли какие-либо дополнительные меры, которые мне следует рассмотреть для повышения безопасности связи между сервером и приложения?


Подробнее здесь: https://stackoverflow.com/questions/791 ... pplication
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»