针对网站根目录下的某些子目录,有时候不希望把子目录内的所有文件公开,此时可以设置访问权限,访问这个子目录时,需要输入用户名和密码才可查看里面内容。
演示网站:https://netdisk.ltd/
系统版本:CentOS 7 64
网站环境:LNMP/BT,Apache/nginx
例如,打开以上演示网站,可正常罗列站内的文件夹和文件,但当要打开https://netdisk.ltd/Video/时,会提示需要输入用户名和密码才能浏览。如图:
设置方法很简单,Apache、litespeed、nginx都可以设置。
首先,利用htpasswd配置用户名和密码文件:
yum -y install httpd-tools
#在/home目录内生成密码文件passwd,添加用户名yours,根据提示设置密码
htpasswd -c /home/passwd yours
不同的Linux发行版,安装htpasswd方法不同,如果觉得麻烦,也可以用脚本直接生成密码文件,而无需使用htpasswd。
脚本下载及方法如下:
根据提示设置用户名密码和文件名,密码文件会在终端当前目录下生成。
密码文件生成后,就可以开始设置权限了。
Apache环境:
在需要设置权限的子目录内,通过添加.htaccess文件来设置目录权限。
编辑新建的.htaccess文件,添加以下内容:
AuthUserFile /home/passwd
AuthName "Good Jobs"
AuthType Basic
require valid-user
ErrorDocument 401 "Unauthorized Access"
不过,这样设置,直接访问此目录内的文件,也是需要输入用户名密码的。如果只是设置访问目录需要密码,直接访问目录内的文件不需要密码,则需要添加以下内容:
效果:
访问目录需要密码:https://netdisk.ltd/Video/
访问文件不需密码:https://netdisk.ltd/Video/Test.zip
Nginx环境:
在网站的nginx配置文件中,添加以下信息:
location ^~ /Softs/Linux/
{
auth_basic "Authorized users only";
auth_basic_user_file /home/passwd;
}
重启nginx。不过,加上认证之后,该目录下的PHP将不会被解析,如果想可以解析PHP可以将上面的配置改为:
Safari 605.1.15 | Mac OS X 10_15
福建省厦门市 电信
到底要怎么才能下载你的分享呢?mac上。哭死~
Safari 604.1 | iPhone iPhone OS 13_1_2 like Mac OS X) AppleWebKit
广东省广州市 联通
留意一下总会下载到的~
Netscape Navigator 5.0 | iPhone iPhone OS 13_1_2 like Mac OS X) AppleWebKit
福建省福州市 电信
实在是搞不懂那些代码什么的T T
Chrome 77.0.3865.90 | Mac OS X 10_14_4
江苏省泰州市 电信
能看到登录密码吗?
Safari 605.1.15 | Mac OS X 10_15
广东省广州市 电信
威锋来的~
是不是评论就能看到登陆账户密码呢
Chrome 78.0.3904.70 | Mac OS X 10_15_0
北京市 联通
还是没有弄懂怎么设置密码
Chrome 78.0.3904.70 | Mac OS X 10_15_1
北京市 电信CDMA
求一下密码访问,登陆
Safari 605.1.15 | Mac OS X 10_13_4
北京市海淀区 联通
太有技术含量了,需要尝试。
Firefox 70.0 | Windows 10
广东省东莞市 电信
太难了,怎么下载啊
QQ Browser 10.5.3824.400 | Windows 10
湖南省长沙市 电信
我也很想知道怎么下载
Safari 604.1 | iPhone iPhone OS 14_0 like Mac OS X) AppleWebKit
广东省深圳市 联通
666次f收到v个
Chrome 94.0.4606.61 | Windows 7
北京市 移动
来看看
Chrome 96.0.4664.45 | Windows 10
山东省潍坊市 联通
发v烦烦烦烦烦烦烦烦烦烦烦烦烦烦烦方法
Safari 604.1 | iPhone iPhone OS 16_1_2 like Mac OS X) AppleWebKit
韩国
感谢分享
Chrome 125.0.0.0 | Windows 10
四川省成都市 电信
感谢大佬