PHP和htpasswd

PHP和htpasswd,php,.htaccess,.htpasswd,Php,.htaccess,.htpasswd,我有一个这样的结构: /home /home/dir1 /home/dir2 现在,当有人进入/home时,会要求他输入用户名和密码(以表单形式),我用PHP为/home的其余文件设置会话信息。现在/home/dir1和/home/dir2受htpasswd保护,但用户名和密码相同。我不希望用户在进入/home/dir1时再次输入用户名和密码。。。另外,当我从/home注销时,我也想从/home/dir1注销。您能就如何实现这一点提供建议吗?这应该是默认行为 也就是说,如果您使用Apache和

我有一个这样的结构:

/home
/home/dir1
/home/dir2

现在,当有人进入/home时,会要求他输入用户名和密码(以表单形式),我用PHP为/home的其余文件设置会话信息。现在/home/dir1和/home/dir2受htpasswd保护,但用户名和密码相同。我不希望用户在进入/home/dir1时再次输入用户名和密码。。。另外,当我从/home注销时,我也想从/home/dir1注销。您能就如何实现这一点提供建议吗?

这应该是默认行为

也就是说,如果您使用Apache和.htaccess文件来设置HTTP身份验证,则应用于目录的任何规则也将应用于其子目录,并且浏览器会将其视为一次登录

如果您希望它以不同的方式运行,即如果您希望站点的某些部分被视为需要完全独立的登录,则可以使用.htaccess中的AuthName指令为每个部分指定一个“领域”。但是,如果您不这样做,它将始终被视为同一登录的所有部分


HTTP身份验证的问题是没有“注销”的方法,至少在浏览器提供该功能之前是这样。大多数浏览器允许您注销的唯一方法是结束浏览器会话(即关闭浏览器)。是的,一旦您这样做,您将从/home、/home/dir1、/home/dir2以及所有站点/领域的所有目录中注销。

这应该是默认行为

也就是说,如果您使用Apache和.htaccess文件来设置HTTP身份验证,则应用于目录的任何规则也将应用于其子目录,并且浏览器会将其视为一次登录

如果您希望它以不同的方式运行,即如果您希望站点的某些部分被视为需要完全独立的登录,则可以使用.htaccess中的AuthName指令为每个部分指定一个“领域”。但是,如果您不这样做,它将始终被视为同一登录的所有部分


HTTP身份验证的问题是没有“注销”的方法,至少在浏览器提供该功能之前是这样。大多数浏览器允许您注销的唯一方法是结束浏览器会话(即关闭浏览器)。是的,一旦您这样做,您将从/home、/home/dir1、/home/dir2以及所有站点/领域上的所有目录中注销。

在Apache中,只要两个文件夹具有相同的AuthName并且位于同一站点上,它们就应该共享密码

两个目录可能都有一个.htaccess文件,如下所示:

AuthName "My Protect Folder"
AuthType basic
AuthUserFile /somewhere/htusers
require valid-user

在Apache中,只要两个文件夹具有相同的AuthName并且位于同一站点上,它们就应该共享一个密码

两个目录可能都有一个.htaccess文件,如下所示:

AuthName "My Protect Folder"
AuthType basic
AuthUserFile /somewhere/htusers
require valid-user

您需要使用相同的身份验证域(不确定名称是否正确)。检查Apache文档。但这不是编程问题。您需要使用相同的身份验证域(不确定名称是否正确)。检查Apache文档。但这不是一个编程问题。