是否可以通过一个表单进行php和.htaccess身份验证


Is it possible to have php and .htaccess authentication through one form?

我在我的网站上同时使用PHP和.htaccess登录系统。两种身份验证都是单独处理的(即php通过查询数据库,.htaccess通过在根目录中包含密码文件)。PHP登录将用户引导到特定页面,.htaccess登录将用户定向到包含子目录和各种文件的特定目录。根据目前的情况,如果用户想访问目录,他需要登录两次。第一次登录会将他引导到一个页面,在那里他会找到一个链接,再次单击该链接会提示他输入用户名和密码,并将他引导至该目录。

有没有一种方法可以简化两个身份验证问题并使其成为一个。我的意思是,登录系统应该以这样的方式工作:如果用户a登录,他将被引导到页面,如果用户B通过同一登录登录,他应该被引导到目录?

如有任何帮助,我们将不胜感激。

您可以在$_SYSTEM中使用PHP_AUTH_USERPHP_AUTH_PW值:http://php.net/manual/en/features.http-auth.php

您可以尝试通过设置"Authorization"HTTP标头来使用HTTP身份验证登录,该标头的值设置为字符串basic username:password,但username:password部分通过base64_encode编码。源

然而,这似乎是一个糟糕的设计imo。两个脚本都在同一台服务器上,如果是,那么它们可以从后端访问相同的资源。

您可以做的另一个选项是将保护切换为使用php:http://php.net/manual/en/features.http-auth.php