我的问题很简单.
如何允许用户更改存储在linux中的某些htpasswd文件中的密码而不泄露文件内容或允许用户修改其他密码?
我尝试使用ssh和specialy设计的用户编写一个脚本来完成这项工作,但现在它会引导.
请帮忙.我正在使用Debian服务器"Lenny".
如何在开发期间使用Cakephp中的htaccess密码保护我的网站?
我搜索谷歌,但找不到任何有用的东西,我希望你能帮助我!
谢谢直到帮助我解决问题!
对于CakePHP用户: - 修改/ app/webroot /中的.htaccess - 在.htaccess文件的开头添加类似的内容:
AuthName "Restricted Area"
AuthType Basic
AuthUserFile /complete/path/to/.htpasswd
AuthGroupFile /dev/null
require valid-user
Run Code Online (Sandbox Code Playgroud)
现在在/ app/webroot /中创建.htpasswd文件,然后删除以下内容:
admin:PASSWORD
Run Code Online (Sandbox Code Playgroud)
"PASSWORD"是您真实密码的转换版本,我使用此工具创建了它:http://tools.dynamicdrive.com/password/
我认为有更多的方法可以创建它,但对我来说它有用,也许这也有助于其他cakephp用户.
我在我的实时网站上设置了htpasswd身份验证,它运行良好,但我不想在开发环境工作时要求输入密码.
在我的httpd.conf文件中,我有:
SetEnv APP_ENV "development"
Run Code Online (Sandbox Code Playgroud)
在我的.htaccess
档案中,我有:
AuthName "Restricted Area"
AuthType Basic
AuthUserFile /path/to/file/.htpasswd
AuthGroupFile /dev/null
require valid-user
Run Code Online (Sandbox Code Playgroud)
我想知道是否有反正把有条件围绕htppasswd的东西,这样,当APP_ENV
是development
我没有得到提示输入密码.
这可能吗?
我有一个带有htaccess和htpasswd的密码保护目录.
htaccess看起来像这样
AuthUserFile /usr/local/you/safedir/.htpasswd
AuthGroupFile /dev/null
AuthName EnterPassword
AuthType Basic
require user myusername
Run Code Online (Sandbox Code Playgroud)
htpasswd看起来像这样
myusername:password887
Run Code Online (Sandbox Code Playgroud)
这个受密码保护的目录名为www.mydomainname.com/mystuff
现在,我想在我的root中的index.php中访问这个页面,将iframe(以www.mydomain.com/mustuff/index.html作为src)访问,但我不想让用户填写所有用户名和密码时间,只是让他们不进入src所在的文件夹.
是否有一个脚本可以自动填写用户名和密码而不让"用户"一直写入用户名和密码?
我尝试使用.htaccess密码保护单个文件.但是当访问该文件时,浏览器只是重定向到网站的主页.我的webroot上有.htpasswd.我的.htaccess文件如下
<FilesMatch "result.php">
AuthName "Member Only"
AuthType Basic
AuthUserFile /home/username/.htpasswd
require valid-user
</FilesMatch>
Run Code Online (Sandbox Code Playgroud)
我想保护文件result.php.我已使用我的确切cpanel用户名替换了用户名.有人请帮忙
我在Windows Server 2008 R2中运行Apache 2.4.我试图密码保护一个子目录,并成功在Apache 2.0中这样做.升级后,我接受了Apache的建议,并尝试将身份验证配置放在httpd.config中.我允许读取密码文件,一切看起来都是有序的,但是当我测试它时,我收到以下错误:
[Mon Apr 01 19:58:36.438476 2013] [auth_basic:error] [pid 3984:tid 788] [client xxx.yyy.254.2:49253] AH01617:用户主服务器:"/restricted/file.zip"的身份验证失败:密码有误
但是,我知道我正在发送正确的密码.请参阅下面的配置,任何评论都有帮助.
<Directory "C:/www/mydir/restricted">
#AllowOverride AuthConfig
#Order allow,deny
#Allow from all
AuthType Basic
AuthName Restricted
AuthUserFile "C:/www/mydir/passwords/pass"
Require valid-user
</Directory>
<Directory "C:/www/mydir">
Require all granted
</Directory>
<VirtualHost *:80>
ServerAdmin admin@.com
DocumentRoot "C:/www/mydir"
ServerName "fakeurl.com"
ErrorLog "C:/www/mydir/logs/error.log"
CustomLog "C:/www/mydir/logs/accesslog/access.log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin admin@.com
DocumentRoot "C:/www/mydir"
ServerName "www.fakeurl.com"
ErrorLog "C:/www/mydir/logs/error.log"
CustomLog "C:/www/mydir/logs/accesslog/access.log" common
</VirtualHost>
Run Code Online (Sandbox Code Playgroud) 我偶然发现了保护文件的奇怪方法.
基本上,受保护文件夹中有空的download.php文件和两个导致文件下载的文件(来自同一文件夹):.htpwd,其中存储密码和.htaccess:
RewriteEngine On
##RewriteBase /
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?example.com [NC]
RewriteRule \.(.*)$ - [NC,F,L]
RewriteCond %{QUERY_STRING} ^filename=(.*)$
RewriteRule ^download\.php$ %1
RewriteRule (.*) - [E=file:$1]
Header set Content-type "octet-stream"
Header set Content-disposition "attachment; filename=%{file}e" env=file
##AuthName "Restricted Access"
##AuthType Basic
##AuthUserFile /local/home/example/example.com/downloads/.htpwd
##AuthGroupFile /dev/null
##require valid-user
Run Code Online (Sandbox Code Playgroud)
下载链接示例:
http://www.example.com/downloads/download.php?filename=dog%20cat%20cow.zip
如果filename是dog-cat-cow.zip - 一切正常.当文件名为:"dog cat cow.zip"时会出现问题,然后下载文件,但下载后的文件名将是"dog"而不是"dog cat cow.zip".所以问题是人们在没有扩展的情况下获得文件,并且不知道如何处理它.
考虑到我根本无法重命名这些文件并删除空格,如何解决这个问题?我不是如何阅读.htaccess的专家,没有我能想到的短语给出任何类似的问题解决方案.有任何想法吗?
我能够通过我网站根目录下的htaccess文件密码保护目录(由于我的CMS,我必须在我的网站root中使用一个htaccess文件).我遇到的问题是将用户分配给我想要保护的每个目录.我可以创建多个用户和密码保护多个目录,但任何用户都可以使用任何受保护的目录.例如:
example.com/section-one应该是私有的,并由用户"one"访问.
example.com/section-two应该是私有的,并由用户"two"访问.
但是,任何用户都可以使用任何一个部分,一旦用户登录到一个用户,他们就可以访问其他部分而无需输入密码.我知道这是我的htaccess文件的问题.我尝试使用但似乎无法弄清楚格式.所有在线信息都显示了如何为文件执行此操作,但目录并不容易找到帮助.
我用这个:
<IfModule mod_authn_file.c>
SetEnvIf Request_URI "^/section-one.*$" private
AuthName "Password Needed"
AuthGroupFile /dev/null
AuthType Basic
AuthUserFile /www/server/.htpasswd
Require user one
Order Deny,Allow
Deny from env=private
Satisfy any
</IfModule>
<IfModule mod_authn_file.c>
SetEnvIf Request_URI "^/section-two.*$" private
AuthName "Password Needed"
AuthGroupFile /dev/null
AuthType Basic
AuthUserFile /www/server/.htpasswd
Require User two
Order Deny,Allow
Deny from env=private
Satisfy any
</IfModule>
Run Code Online (Sandbox Code Playgroud) 为什么.htaccess和.htpasswd不接受我的登录信息?
我从中获取了完整的路径信息 phpinfo()
我的根的完整路径: /home/userid/public_html
我把我的.htpasswd放到根文件夹(public_html)中,这是我的.htpasswd的完整路径: /home/userid/public_html/.htpasswd
我想通过密码保护的管理员文件夹名称: adminfolder
我把我adminfolder
放到根文件夹(public_html)
文件夹结构
public_html
---- .htaccess {permission: -rw-r--r--}
---- .htpasswd {permission: -rw-r--r--}
---- adminfolder {permission: drwxr-xr-x}
---- ---- .htaccess {permission: -rw-r--r--}
---- ---- other secret files {permission: -rw-r--r--}
Run Code Online (Sandbox Code Playgroud)
AuthUserFile /home/userid/public_html/.htpasswd
AuthName "Log In"
AuthType Basic
Require valid-user
Run Code Online (Sandbox Code Playgroud)
注意:这是我的原始密码的加密版本.
admin:zv.sqVSz3W1nk
Run Code Online (Sandbox Code Playgroud)
RewriteEngine On
RewriteBase /
#always use www - redirect non-www to www permanently
RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTPS}s on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L] …
Run Code Online (Sandbox Code Playgroud) 我在 Windows 10 中向我的 docker 私有注册表添加身份验证。我最初没有实现基本身份验证,但后来,我使用 auth 文件夹中的 htpasswd 文件实现了它。我一直在跟进本教程中给出的说明:https://www.codeproject.com/Articles/1263831/How-to-secure-your-private-Docker-Registry。但由于 Windows 的 htpasswd 文件存在问题,因此我必须使用 HtPasswd 生成器创建一个 htpasswd 文件并将其复制到我的 auth 文件夹中。
\n后来,我运行此命令来构建容器并将卷、端口和 htpasswd 文件从主机绑定到我的容器:\ndocker run -d -p 5000:5000 --name hub.local -v C:\\localHub\\registry:/var/lib/registry -v C:\\localHub\\auth:/auth -e "REGISTRY_AUTH=htpasswd" -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/.htpasswd -e REGISTRY_HTTP_ADDR=0.0.0.0:5000 registry:2
它工作正常,我可以看到容器已启动并在端口 5000 上运行:
\nCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES\n41499c3f07e6 registry:2 "/entrypoint.sh /etc\xe2\x80\xa6" 17 minutes ago Up 17 minutes 0.0.0.0:5000->5000/tcp hub.local\n
Run Code Online (Sandbox Code Playgroud)\n但是当我尝试使用它登录到我的容器时,docker login 172.16.13.38:5000
它会要求我输入用户名和密码,但显示相同的错误。
docker login …
Run Code Online (Sandbox Code Playgroud)