如果这个问题是noobish或一种重复,请指导我.
我想知道如何实现这种身份验证?

我问,因为我很丢失,不知道要搜索哪些关键字.在我看来,我计划在用户想要访问我的域时(例如http://mysite.com和http://mysite.com/tools)拥有此功能.
嗨,我正在尝试设置一个.htaccess和一个.htpasswd文件,以查看用户是否可以访问特定目录.当新用户注册时,他们的密码使用PHP md5()函数加密,然后使用其他登录信息存储在数据库中.我想.htpasswd动态地将一些加密密码添加到我的文件中,以便他们可以进入子成员部分.我遇到了麻烦,因为该.htpasswd文件可以使用该crypt()功能加密的密码,但我不知道如何使用它们的md5加密密码.
我用htaccess和htpasswd保护html文件.当我尝试访问它时,在放入用户和密码后,而不是加载"index.html"文件,我得到"500 - 内部服务器错误"
AuthName "Restricted Area"
AuthType Basic
AuthUserFile home/folder/index.html/.htpasswd
AuthGroupFile /dev/null
require valid-user
Run Code Online (Sandbox Code Playgroud)
有什么建议?也许托管服务的东西?
我有一个通过 htpassword 调用运行用户名和密码的脚本:
/usr/local/apache2/bin/htpasswd -b $file $user $pass
Run Code Online (Sandbox Code Playgroud)
并将它们添加到文件中。
bash-3.00$ grep caspers$nytest /prod/archive/2013Nov29/foo-users1
aacaspersrepo:$apr1$QSKSjpwI$Mrn8sWRki4Pb3kxYwayPF/
aacasperstreasview:$apr1$PHpwkF2N$YsAr7cnJtjABK7T8FbhgL.
casperstest:$apr1$lIuRZ1jW$DAHFKmIRHcPoS0kAzRcmB1
casperstest1:$apr1$1nyAfTJN$yAtF1ToIw5UCQxo7CJMcp0
casperstest2:$apr1$BZEcwVEV$dILld.zfxa4B6G0pKQFtg/
caspers$bank:$apr1$XWdLqwKb$O8st/xXcPOyEmApsHj4FS.
caspers$nytest:$apr1$N/GoMyoZ$5WGvyWVWGDgZPApuvGeb9/
casperscust$ny:$apr1$zCpRLoZG$zK8yc9IkKoR1BqGsHXFdK/
casperscust$nytest:$apr1$gLzFo3gk$YVZ9ALVhD/rHOhNUmJic80
bash-3.00$
bash-3.00$
bash-3.00$
bash-3.00$ grep caspers$nytest /prod/archive/2013Nov28/foo-users1
aacaspersrepo:$apr1$GahfhX78$eah4xp9ba.hQ1jb8NbPC.1
aacasperstreasview:$apr1$8aKZu1ku$Q8BKTSEdXFxkpQtXIhQO01
casperstest:$apr1$gmIdA8cX$FTe1hreH5/6gFLTFYA9zN.
casperstest1:$apr1$dtSjEVAZ$ya2S4gJ5ArKX7Z5kKDYnS.
casperstest2:$apr1$ZcKdZrTG$Ip0jxulsxR.KNJkDhi3rw1
caspers$bank:$apr1$BvCtx.n2$s/teof5StdXBFzc3wAe.d1
caspers$nytest:$apr1$GjOnubg1$KtselMH6H6nCyp7oiAbOJ/
casperscust$ny:$apr1$ieUhlGhA$zrHnSkdxbHlG7eK.3mmYO1
casperscust$nytest:$apr1$pAFgIv71$YMIjy8T7/6DQnJSdRYk361
bash-3.00$
Run Code Online (Sandbox Code Playgroud)
天之间的差异是巨大的。问题是密码哈希从一天到下一天都在变化。您会认为除非用户更改它们,否则hasnes 将是相同的。htpasswd 使用的算法将为用户更改的相同密码输出相同的哈希值。
我在文档中没有看到任何内容。
这是预期的行为还是我的脚本有什么问题?
我想保护1个控制器免受我的Codeigniter项目的影响,并在根目录中放置以下htaccess代码:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]
<Files admin>
AuthName "admin"
AuthType Basic
AuthUserFile /home/domain/domains/domain.nl/.htpasswd/public_html/.htpasswd
require valid-user
</Files>
Run Code Online (Sandbox Code Playgroud)
当我去domain.nl/admin时,我会得到一个提示,要求提供凭据.但是当我点击取消时,它仍然会进入管理页面.我怎样才能解决这个问题?
我在Nginx服务器上运行magento。我决定使用auth_basic和htpasswd文件锁定一个充满.php文件的文件夹。没有身份验证,php页面将呈现并正常工作。但是在强制执行身份验证之后,当我转到页面时,我得到登录提示(很好),我登录了,然后浏览器尝试下载php文件。它拒绝渲染它。这是跨多个浏览器(chrome,firefox,opera等)的。任何想法我需要做些什么才能使其具有密码保护但仍然有效?谢谢!
编辑:.conf文件身份验证设置
location ~^ /FOLDER/ {
auth_basic "Restricted";
auth_basic_user_file /path/to/htpasswd/;
}
Run Code Online (Sandbox Code Playgroud) 在上一个问题中,我尝试使用带有.htpasswd和regex的Nginx密码保护我的/ admin /和子文件夹目录。
该操作已成功完成,但是现在,密码验证完成后,Nginx会提示“下载” php文件,而不是简单地加载它们。
当新位置“身份验证”块被注释掉时,不会发生这种情况。例如,在此代码示例中,PHP页面加载没有任何问题:
location / {
try_files $uri $uri/ =404;
}
#location "~^/admin/.*$" {
# try_files $uri $uri/ =404;
# auth_basic "Restricted";
# auth_basic_user_file /etc/nginx/.htpasswd;
#}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
Run Code Online (Sandbox Code Playgroud)
我该如何解决这些(显然是冲突的)位置块,所以/ admin /部分受密码保护,但php文件仍然加载?
我的 .htpasswd 文件位于 wamp 的“www”文件夹中。我的 .htaccess 文件也在同一个“www”文件夹中。我想在 .htaccess 文件中设置 .htpasswd 的路径。如何在 AuthUserFile 中设置路径
AuthName "Restricted Area"
AuthType Basic
AuthUserFile www/.htpasswd **path incorrect
AuthGroupFile /dev/null
require valid-user
Run Code Online (Sandbox Code Playgroud) 我只是想知道我是否可以使用(这里找到脚本https://davidwalsh.name/password-protect-directory-using-htaccess)与Github上的页面.服务器适合这种脚本吗?我知道它肯定适用于Apache服务器,但我不知道Github有什么类型的服务器.
我正在按照以下说明安装Netdata(https://www.digitalocean.com/community/tutorials/how-to-set-up-real-time-performance-monitoring-with-netdata-on-ubuntu-16-04)
到最后,它用于htpasswd创建一个user:password文件,该文件看起来已经以某种方式进行了哈希处理。如果我查看文件,就会看到...
username:$somekindofpasswordhashandnotthepasswordientered
Run Code Online (Sandbox Code Playgroud)
指令然后告诉我制作一个这样的服务器块...
server {
listen your_server_ip:80;
server_name example.com;
auth_basic "Authentication Required";
auth_basic_user_file netdata-access;
Run Code Online (Sandbox Code Playgroud)
netdata-access是nginx conf目录中的密码文件。因此,当我访问此页面并输入密码时,我是通过网络发送密码明文,还是nginx模块以某种方式对其进行加密?服务器块位于端口80而非443上...
编辑:我快速阅读了这两件事的文档,但没有发现有关我的问题的信息
.htpasswd ×10
.htaccess ×6
php ×6
nginx ×3
apache ×1
codeigniter ×1
encryption ×1
github ×1
github-pages ×1
html ×1
security ×1
wamp ×1