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


Replace AuthUserFile with custom PHP script in .htaccess

我一直在使用HTTP身份验证通过.htaccess文件每次我需要快速和肮脏的密码保护一个完整的目录(大多数时候,为了隐藏第三方应用程序我安装为私人使用)。现在我已经编写了一些PHP代码来用OpenID替换本地密码。这使我能够在PHP站点中摆脱HTTP认证。然而,我仍然试图找出一个技巧,我可以使用在非php的东西(从第三方程序到随机的东西)。

默认情况下,Apache似乎不支持自定义脚本的身份验证(无论我做什么,它应该在我的托管提供商中工作)。这就留下了一个显而易见的解决方案,使用mod_rewrite通过一个PHP脚本来检查凭证和读取目标文件,但是1)它看起来像一个性能杀手2)它会干扰动态的东西,比如其他PHP脚本。

我想知道是否有一种方法来调整路由器方法,使脚本不需要发送文件,或者如果我忽略了其他一些方法。任何想法?

我认为你的mod_rewrite方法将是做到这一点的唯一方法-但不是使用readfile()(我猜你是,基于你所说的it will interfere with dynamic stuff, such as other PHP scripts)你可以只是include()他们,这样原始文件直接写入输出和PHP代码被执行。

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

如果OpenID是所有你需要考虑使用mod_auth_openid的apache