知识大全 nginx中给目录增加密码保护实现程序
Posted 目录
篇首语:敏而好学,不耻下问。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 nginx中给目录增加密码保护实现程序相关的知识,希望对你有一定的参考价值。
一款nginx中给目录增加密码保护实现程序 可以有效的保护一些目录不被访问 有需要的朋友可参考一下了防止一些可能出现存在漏洞的后台脚本暴露 使用验证的方式保护这些文件所在的目录
使用apache的htpasswd工具生成密码
yingouqlj@yingouqlj laptop:~$ htpasswd b c filename username passwdAdding password for user ******
nginx可以为网站或目录甚至特定的文件设置密码认证 密码必须是crypt加密的 可以用apache的htpasswd来创建密码
格式为 htpasswd b c site_pass username password
site_pass为密码文件 放在同nginx配置文件同一目录下 当然你也可以放在其它目录下 那在nginx的配置文件中就要写明绝对地址或相对当前目录的地址
如果你输入htpasswd命令提示没有找到命令时 你需要安装如centos是yum install d
如果是为了给网站加上认证 可以直接将认证语句写在nginx的配置server段中
如果是为了给目录加上认证 就需要写成目录形式了 同时 还要在目录中加上php的执行 否则php就会被下载而不执行了 例如 基于整个网站的认证 auth_basic在php解释之前
代码如下 复制代码 server listen ; server_name ; root //akii; index inde index php; auth_basic "input you user name and password"; auth_basic_user_file /usr/local/nginx/conf/vhost/nginx_passwd; location ~ php$ fastcgi_pass : ; fastcgi_index index php; include fastcgi_params; location ~ / ht deny all; access_log /logs/akii _access log main;针对目录的认证 在一个单独的location中 并且在该location中嵌套一个解释php的location 否则php文件不会执行并且会被下载 auth_basic在嵌套的location之后
代码如下 复制代码server listen ; server_name ; root //akii; index inde index php; location ~ ^/admin/ * location ~ php$ fastcgi_pass : ; fastcgi_index index php; include fastcgi_params; auth_basic "auth"; auth_basic_user_file /usr/local/nginx/conf/vhost/auth/admin pass; location ~ php$ fastcgi_pass : ; fastcgi_index index php; include fastcgi_params; location ~ / ht deny all; access_log /logs/akii _access log main;
这里有一个细节 就是location ~ ^/admin/ * … 保护admin目录下的所有文件 如果你只设了/admin/ 那么直接输入/admin/index php还是可以访问并且运行的 ^/admin/ * 意为保护该目录下所有文件 当然 只需要一次认证 并不会每次请求或每请求一个文件都要认证一下
附一个可用的bash脚本 用于创建密码
代码如下 复制代码 #!/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH #set UserName username="" read p "Please input UserName:" username if [ "$username" = "" ]; then echo "Error:UserName can t be NULL!" exit fi echo "===========================" echo "UserName was: $username" echo "===========================" #set password unpassword="" read p "Please input the Password:" unpassword if [ "$unpassword" = "" ]; then echo "Error:Password can t be NULL!" exit fi echo "===========================" echo "Password was: $unpassword" echo "===========================" password=$(perl e print crypt($ARGV[ ] "pwdsalt") $unpassword) #set htpasswd file htfile="" read p "Please input Auth filename:" htfile if [ "$htfile" = "" ]; then echo "Error:Auth filename can t be NULL!" exit fi echo "===========================" echo "Auth File:$htfile" echo "===========================" get_char() SAVEDSTTY=`stty g` stty echo stty cbreak dd if=/dev/tty bs= count= > /dev/null stty raw stty echo stty $SAVEDSTTY echo "" echo "Press any key to Creat or Press Ctrl+c to cancel" char=`get_char` if [ ! f $htfile ]; then echo "Create Auth file "cat >$htfile<<eof$username:$passwordeof echo "Create Auth file successful auth file path:$htfile" else echo "File already exists please run this script again " exit fi命令参数注释:
Usage:
htpasswd [ cmdpsD] passwordfile usernamehtpasswd b[cmdpsD] passwordfile username password
htpasswd n[mdps] usernamehtpasswd nb[mdps] username password c Create a new file n Don’t update file; display results on stdout m Force MD encryption of the password (default) d Force CRYPT encryption of the password p Do not encrypt the password (plaintext) s Force SHA encryption of the password b Use the password from the mand line rather than prompting for it D Delete the specified user
cha138/Article/program/Java/gj/201404/30490相关参考
自己的一个需求需要对ab下的/c这个目录下cookied=e才能访问如果不是就重定向到f下面看代码 代码如下复制代码server &
nginx配置完并发了还是上不去参考下面的nginx配置高并发一、一般来说nginx配置档案中对优化比较有作用的为以下几项:1.worker_processes8;nginx程序数,建议按照cpu数目
为Delphi编写的屏幕保护程序增加描述 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 虽说屏幕
国家基本药物目录遴选的原则是防治必需、安全有效、价格合理、使用方便、中西药并重,结合我国用药特点,参照国际经验。 国家基本药物目录遴选程序:一是从国家基本药物专家库中,随机抽取专家成立目录咨询专家组
Java程序实现压缩某目录 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! publicclass
下面的短小的shell程序可以列出目录树充分利用了sed强大的模式匹配能力 目录树形式如下: `shellp `updates `wuftpd |`doc
知识大全 nginx中常用问题(nginx 301/绑定独立IP地址)
nginx中常用问题(nginx301/绑定独立IP地址) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一
最常用的方法是通过设置nginx的client_max_body_size解决nginx+php上传大文件主要是设置上传文件大小和php脚本运行时长即可用nginx来做webserver的时上传大文件
深入Nginx+PHP缓存详解 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!以下是对Nginx中的
nginx利用proxy_cache来缓存文件有需要的朋友可参考 代码如下复制代码user zhangyusers;worker_processes;error_log