PHP to.htaccess受保护的html

PHP to.htaccess受保护的html,php,.htaccess,apache2,ldap,Php,.htaccess,Apache2,Ldap,我需要找到一种方法来使用PHP来访问受.htaccess保护的.html文件。当前的设置依赖于mod_auth_ldap,允许用户查看.html文件 我想要创建的设置将有一个php脚本,用户可以登录该脚本,然后允许他们访问.html文件,同时保持当前的安全级别并利用现有的结构 简而言之:我需要将身份验证从PHP传递到Apache2。这是可能的吗?您可以让PHP来处理,然后登录详细信息将继续通过浏览器标题发送,并使用mod_auth_basic为.htaccess工作。这意味着您的用户必须通过难看

我需要找到一种方法来使用PHP来访问受.htaccess保护的.html文件。当前的设置依赖于mod_auth_ldap,允许用户查看.html文件

我想要创建的设置将有一个php脚本,用户可以登录该脚本,然后允许他们访问.html文件,同时保持当前的安全级别并利用现有的结构


简而言之:我需要将身份验证从PHP传递到Apache2。这是可能的吗?

您可以让PHP来处理,然后登录详细信息将继续通过浏览器标题发送,并使用mod_auth_basic为.htaccess工作。这意味着您的用户必须通过难看的浏览器登录窗口登录,而不是漂亮的HTML/CSS窗口。

您可以让PHP处理,然后登录详细信息将继续由浏览器标题发送,并使用mod_auth_basic为.htaccess工作。这意味着您的用户必须通过难看的浏览器登录窗口登录,而不是漂亮的HTML/CSS登录。

经过大量工作,多亏cainmi的建议,我想出了一个解决方案。 受保护目录的My.htaccess如下所示

RewriteEngine On
RewriteBase /php-wrapper/auth
RewriteRule ^(.*) /php-wrapper/wrapper.php?topage=https://%{SERVER_NAME}/php-wrapper/auth/$1
这会将请求传递回我的php脚本,该脚本会检查Auth,如果通过,则执行以下操作

$type = (get_object_vars(apache_lookup_uri("$abs_path")));
header('Content-type: '.$type['content_type']);
readfile($abs_path);
使用文件和正确的MIME类型进行响应

因为我提供的一些内容包含XML,所以我必须禁用短开放标记。我通过将这一行添加到保存包装器的目录的.htaccess中来实现这一点

php_value short_open_tag 0

Stackoverflow是找到此解决方案的关键,为此我感谢大家。

经过大量工作,多亏cainmi的建议,我想出了一个解决方案。 受保护目录的My.htaccess如下所示

RewriteEngine On
RewriteBase /php-wrapper/auth
RewriteRule ^(.*) /php-wrapper/wrapper.php?topage=https://%{SERVER_NAME}/php-wrapper/auth/$1
这会将请求传递回我的php脚本,该脚本会检查Auth,如果通过,则执行以下操作

$type = (get_object_vars(apache_lookup_uri("$abs_path")));
header('Content-type: '.$type['content_type']);
readfile($abs_path);
使用文件和正确的MIME类型进行响应

因为我提供的一些内容包含XML,所以我必须禁用短开放标记。我通过将这一行添加到保存包装器的目录的.htaccess中来实现这一点

php_value short_open_tag 0

Stackoverflow是找到此解决方案的不可或缺的一部分,为此我感谢大家。

我应该在前面解释这一点,但我正在使用哈希共享密钥从另一个网站通过身份验证。。。不幸的是,网站周围的政治因素使我无法在一个域上托管它们。我不完全确定这是如何工作的,但请看一看。这看起来不错。不知道如何包装php。。。可能包括html?另一个选项是使用.htacces将某个目录中对.html文件的所有请求重定向到您的magic auth php文件,如果用户已通过身份验证,则包括实际的html文件(使用
$\u SERVER['REQUEST\u URI']
),如果未通过身份验证,则显示错误。这样,您根本不需要.htaccess中的mod_auth_basic。在调查了可能的解决方案后,我最终使用了您的建议。一旦我解决了所有的bug,我就会用我的解决方案来编辑我的问题。我应该早点解释这个问题,但我正在使用哈希共享密钥从另一个网站通过身份验证。。。不幸的是,网站周围的政治因素使我无法在一个域上托管它们。我不完全确定这是如何工作的,但请看一看。这看起来不错。不知道如何包装php。。。可能包括html?另一个选项是使用.htacces将某个目录中对.html文件的所有请求重定向到您的magic auth php文件,如果用户已通过身份验证,则包括实际的html文件(使用
$\u SERVER['REQUEST\u URI']
),如果未通过身份验证,则显示错误。这样,您根本不需要.htaccess中的mod_auth_basic。在调查了可能的解决方案后,我最终使用了您的建议。一旦我解决了所有的bug,我会用我的解决方案编辑我的问题。