将AuthUserFile替换为.htaccess中的自定义PHP脚本

时间:2011-10-30 17:41:43

标签: php apache .htaccess openid

每次我需要对完整目录进行快速和脏密码保护时,我一直在通过.htaccess文件使用HTTP身份验证(大多数情况下,为了隐藏我为私人安装的第三方应用程序使用)。现在我已经编写了一些PHP代码来用OpenID替换本地密码。这允许我在我的PHP站点中摆脱HTTP身份验证。但是,我仍然试图弄清楚我可以在非PHP内容中使用的技巧(从第三方程序到随机内容)。

默认情况下,Apache似乎不支持使用自定义脚本进行身份验证(不管我做什么,它应该在我的托管服务提供商中运行)。这留下了显而易见的解决方案,使用mod_rewrite通过检查凭据和读取目标文件的PHP脚本来路由所有内容,但1)它看起来像性能杀手2)它会干扰动态内容,例如其他PHP脚本

我想知道是否有办法调整路由器方法,因此脚本不需要发送文件,或者我忽略了其他一些方法。有什么想法吗?

2 个答案:

答案 0 :(得分:0)

我认为你的mod_rewrite方法是实现这一目标的唯一方法 - 但不是使用readfile()(因为我猜你是基于你对it will interfere with dynamic stuff, such as other PHP scripts的看法)可以只include(),以便原始文件直接写入输出并执行PHP代码。

答案 1 :(得分:0)

您可以使用PHP HTTP-AUTH http://php.net/manual/en/features.http-auth.php

如果您需要OpenID,请考虑使用mod_auth_openid用于apache