Например, у меня есть корневой каталог веб-сервера / var / www / .И домашний каталог пользователя: / var / www / testuser / .У меня также настроена базовая авторизация, поэтому есть пользователь с именем пользователя testuser, который успешно авторизовался.Как я могу проверить, просматривает ли тестовый пользователь свой домашний каталог с помощью одного веб-сервера?Вот как далеко я ушел:
# Getting "testuser" out of "/testuser/echo.php"
SetEnvIf Request_URI ^/(.*)/ URI_HOME=$1
# Getting base64 encoded part out of Authorization header
SetEnvIf Authorization "^Basic (.*)$" X_HTTP_AUTHORIZATION=$1
# Converting base64 part to plain text, extracting username and comparing it with home directory
SetEnvIfExpr "tolower(unbase64(%{ENV:X_HTTP_AUTHORIZATION})) == %{ENV:URI_HOME}" USER_IS_IN_HOME_DIR
Основная проблема в том, что Apache не настроил REMOTE_USER на этапе, когда SetEnvIf ,Поэтому мне абсолютно необходимо проанализировать заголовок Authorization из запроса.Я почти сделал это, но мне нужно вырезать часть за столбцом, чтобы сравнение было правильным.
Как я могу это сделать?