$remote_passwd
$remote_passwd возвращает декодированный пароль из заголовка 'Authorization' при базовой HTTP-аутентификации. — NGINX CoolKit Module
Описание
Переменная $remote_passwd является частью модуля NGINX CoolKit и играет ключевую роль в обработке базовой HTTP-аутентификации. Конкретно, она извлекает декодированный пароль, который содержится в заголовке 'Authorization' HTTP‑запроса, когда клиент проходит аутентификацию с помощью имени пользователя и пароля. Когда клиент отправляет запрос аутентификации, имя пользователя и пароль обычно кодируются в base64 и отправляются в формате 'Authorization: Basic base64(username:password)'. NGINX с помощью модуля CoolKit декодирует эту информацию, чтобы пароль мог быть использован в последующей обработке. Переменная устанавливается во время обработки HTTP‑запросов, которые содержат заголовок Authorization. Если заголовок отсутствует или не соответствует ожидаемому формату для базовой аутентификации, значение $remote_passwd будет пустым. Это означает, что в защищённых приложениях, где важны авторизация и проверка личности, эту переменную необходимо использовать осторожно, проверяя наличие действительных учетных данных перед использованием пароля в логике приложения. На практике $remote_passwd может быть критически важной информацией при работе с аутентификацией на бэкенде против баз данных или сервисов, которые требуют проверки имени пользователя и пароля, как показано в примерах конфигурации, приведённых в документации модуля.
Пример конфига
location = /auth {
internal;
set_quote_sql_str $user $remote_user;
set_quote_sql_str $pass $remote_passwd;
postgres_pass database;
postgres_query "SELECT login FROM users WHERE login=$user AND pass=$pass";
postgres_rewrite no_rows 403;
postgres_output none;
}Подсистема
httpКэшируется
НетКонтексты
http, server, locationУбедитесь, что ваш веб-сервер настроен на корректную обработку Basic Authentication, поскольку отсутствие заголовков может привести к пустому $remote_passwd.
Используйте с осторожностью во внутренней логике, чтобы избежать потенциальных проблем с безопасностью. Незакодированные пароли не следует логировать или раскрывать ненадлежащим образом.
В зависимости от конфигурации Authorization header может быть удалён upstream proxies, что приведёт к пустой переменной.