首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP和htpasswd

PHP和htpasswd
EN

Stack Overflow用户
提问于 2009-04-03 05:36:59
回答 2查看 1.5K关注 0票数 0

我有一个这样的结构:

代码语言:javascript
复制
/home
/home/dir1
/home/dir2

现在,当有人访问/home时,系统会要求他输入用户名和密码(以表单形式),然后我用PHP语言为/home的其余文件设置会话信息。现在,/home/dir1和/home/dir2受htpasswd保护,但用户名和密码相同。我不希望用户在转到/home/dir1时再次输入他们的用户名和密码...另外,当我从/home注销时,我也想从/home/dir1注销。你能建议一下如何实现这一点吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-04-03 05:54:10

这应该是默认行为。

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

如果你想让它以不同的方式运行,即如果你想让站点的某些部分被视为需要完全独立的登录,你可以在.htaccess中使用AuthName指令为每个部分指定一个'realm‘。More information here。但是,如果您不这样做,它将始终被视为同一登录的所有部分。

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

票数 3
EN

Stack Overflow用户

发布于 2009-05-27 15:59:48

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

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

代码语言:javascript
复制
AuthName "My Protect Folder"
AuthType basic
AuthUserFile /somewhere/htusers
require valid-user
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/712665

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档