Dss*_*ner 89 .htaccess .htpasswd
我有一个使用基本身份验证的.htaccess.似乎.htpasswd文件的路径与htaccess文件无关,而是与服务器配置相关.
因此即使我在同一目录中有.htaccess和.htpasswd文件,这也不起作用:
AuthType Basic
AuthName "Private Login"
AuthUserFile .htpasswd
Require valid-user
Run Code Online (Sandbox Code Playgroud)
但是,如果我将AuthUserFile更改为使用绝对路径,它确实有效:
AuthType Basic
AuthName "Private Login"
AuthUserFile "/home/user/public_html/mydir/.htpasswd"
Require valid-user
Run Code Online (Sandbox Code Playgroud)
但我更喜欢更具移动性的东西,因为我在不同领域的多个网站上使用它.我在网上搜索过但没有任何解决方案.是否可以使用相对路径或变量%{DOCUMENT_ROOT}?
cwe*_*ske 44
无法使用AuthUserFile的相对路径:
文件路径是用户文件的路径.如果它不是绝对的(即,如果它不是以斜线开头),则将其视为相对于
ServerRoot.
你必须接受并解决这个限制.
我们IfDefine一起使用apache2 命令行参数:
.htaccess (适用于开发和实时系统):<IfDefine !development>
AuthType Basic
AuthName "Say the secret word"
AuthUserFile /var/www/hostname/.htpasswd
Require valid-user
</IfDefine>
Run Code Online (Sandbox Code Playgroud)
附加以下内容/etc/apache2/envvars:
export APACHE_ARGUMENTS=-Ddevelopment
Run Code Online (Sandbox Code Playgroud)
之后重新启动您的apache,只有当您不在开发服务器上时才会收到密码提示.
您当然可以为开发服务器添加另一个IfDefine,只需复制块并删除即可!.
Han*_*etz 12
1)请注意,将.htpasswd文件放在服务器根目录下面被认为是不安全的.
2)文档说这是关于相对路径的,所以看起来你运气不好:
文件路径是用户文件的路径.如果它不是绝对的(即,如果它不是以斜杠开头),则将其视为相对于ServerRoot.
3)虽然推荐使用环境变量的答案完全正常工作,我宁愿把一个占位符的.htaccess文件,或者在我的代码库有不同的版本,并有部署过程中设置了全面的总结(如更换占位符或重命名/移动相应的文件).
在Java项目中,我使用Maven来完成这类工作,例如PHP项目,我喜欢使用build.sh和/或install.sh shell脚本来将已部署的文件调整到他们的环境中.这将您的代码库与其目标环境的细节(即其环境变量和配置参数)分离.一般来说,应用程序应该适应环境,如果您反过来这样做,一旦环境也必须满足不同的应用程序,或者完全不相关的系统特定要求,您可能会遇到问题.
mas*_*sk8 12
为了以防人们正在为此寻找解决方案:
<If "req('Host') = 'www.example.com'">
Authtype Basic
AuthName "user and password"
AuthUserFile /var/www/www.example.com/.htpasswd
Require valid-user
</If>
Run Code Online (Sandbox Code Playgroud)
您可以将您的Auth设置放入环境中.喜欢:
SetEnvIf HTTP_HOST testsite.local APPLICATION_ENV=development
<IfDefine !APPLICATION_ENV>
Allow from all
AuthType Basic
AuthName "My Testseite - Login"
AuthUserFile /Users/tho/htdocs/wgh_staging/.htpasswd
Require user username
</IfDefine>
Run Code Online (Sandbox Code Playgroud)
Auth正在运行,但我无法让我的环境真正运行.
.htpasswd需要从服务器绝对根开始的完整绝对路径。
请通过echo获取文件的完整绝对路径echo $_SERVER['DOCUMENT_ROOT'];。
这里是基本的auth .htaccess脚本。
AuthType Basic
AuthName "Access to the Hidden Files"
AuthUserFile 'C:/xampp/htdocs/ht/.htpasswd'
Require valid-user
Run Code Online (Sandbox Code Playgroud)
登录前

Afetr登录

| 归档时间: |
|
| 查看次数: |
90998 次 |
| 最近记录: |