Apache检查用户是否正在浏览其主目录

问题描述 投票:0回答:1

例如,我有Web服务器的根目录/ var / www /。和用户的主目录:/ var / www / testuser /。我还设置了基本授权,因此有一个用户名为testuser的用户已成功授权。如何仅通过Web服务器检查测试用户是否正在浏览其主目录?这是我所走的距离:

# 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

主要问题是,当SetEnvIf运行时,Apache在舞台上没有设置REMOTE_USER。因此,我绝对必须从请求中解析Authorization标头。我几乎做到了,但是我必须逐列删去一部分才能使比较正确。

我该怎么办?

environment-variables apache2.4
1个回答
0
投票

以下似乎有效:

© www.soinside.com 2019 - 2024. All rights reserved.