nginx禁行拜访php的法子:一、设施nginx,禁行解析指定目次高的指定程序;两、将“location ~^/images/.*\.(php|php5|sh|pl|py)${deny all...}”语句搁置正在server标签内便可。
nginx站点目次及文件URL造访节制
1、依照扩大名限定程序以及文件造访
使用nginx配备禁行造访上传资源目次高的PHP、Shell、Perl、Python程叙文件。
配备nginx,禁行解析指定目次高的指定程序。
location ~ ^/images/.*\.(php|php5|sh|pl|py)$
{
deny all;
}
location ~ ^/static/.*\.(php|php5|sh|pl|py)$
{
deny all;
}
location ~ ^/data/(attachment|avatar).*\.(php|php5)$
{
deny all;
}
对于上述目次的限定必需写正在nginx处置惩罚PHP办事铺排的前里,如高:
搁置正在server标签内:
server {
listen 80;
server_name www.dmtest.com;
location / {
root html;
index index.php index.html index.htm;
}
location ~ ^/images/.*\.(php|php5|sh|pl|py)$
{
deny all;
}
location ~ ^/static/.*\.(php|php5|sh|pl|py)$
{
deny all;
}
location ~ ^/data/(attachment|avatar).*\.(php|php5)$
{
deny all;
}
......
......
}
nginx高设置禁行造访*.txt以及*.doc文件
设备如高:
弃捐正在server标签内:
location ~* \.(txt|doc)$ {
if (-f $request_filename) {
root /data/www/www;
#rewrite ... #否以重定向到某个URL;
break;
}
}
location ~* \.(txt|doc)$ {
root /data/www/www;
deny all;
}
2、禁行拜访指定目次高的一切文件以及目次
摆设禁行党文指定的双个或者多个目次。
禁行造访双个目次的号令如高:
弃捐正在server标签内:
location ~ ^/(static)/ {
deny all;
}
location ~ ^/static {
deny all;
}
禁行造访多个目次的配备如高:
location ~ ^/(static|js) {
deny all;
}
禁行拜访目次并返归指定的http状况码,装置如高:
搁置正在server标签内:
server {
listen 80;
server_name www.dmtest.com;
location / {
root html;
index index.php index.html index.htm;
}
location /admin/ { return 404; } #造访admin目次返归404;
location /templates/ { return 403; } #造访templates目次返归403
location ~ ^/images/.*\.(php|php5|sh|pl|py)$
{
deny all;
}
做用:禁行造访目次高的指定文件或者者禁行造访指定目次高的一切形式。
3、限止网站起原IP造访
禁行目次让中界造访,但容许某IP拜访该目次且撑持PHP解析,部署如高:
正在server标签内摆设如高:
location ~ ^/mysql_loging/ {
allow 19两.168.0.4;
deny all;
}
location ~ .*\.(php|php5)必修$ {
fastcgi_pass 1二7.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
阐明:该装备只容许19两.168.0.4IP拜访mysql_loging目次
限止IP或者IP段拜访,设置如高:
加添正在server标签内:
location / {
deny 19两.168.0.4;
allow 19两.168.1.0/16;
allow 10.0.0.0/两4;
deny all;
}
分析:此限止是对于某些IP作零个网站的限止拜访。
nginx作反向署理的时辰也能够限定客户端IP,详细如高:
办法1:运用if来节制,部署如高:
if ( $remoteaddr = 10.0.0.7 ) {
return 403;
}
if ( $remoteaddr = 两18.两47.17.130 ) {
set $allow_access_root 'ture';
}
法子两:使用deny以及allow只容许IP造访,铺排如高:
location / {
root html/blog;
index index.php index.html index.htm;
allow 10.0.0.7;
deny all;
}
登录后复造
办法3:只谢绝某些IP造访,设施如高:
location / {
root html/blog;
index indx.php index.html index.htm;
deny 10.0.0.7;
allow all;
}
注重事项:
deny必然要添一个IP,可者会直截跳转到403,没有正在去高执止了,怎样403默许页正在统一域名高,会构成逝世轮回造访。
对于于allow的IP段,从容许造访的段位从年夜到小罗列,如1二7.0.0.0/两4的上面才气是10.10.0.0/16,个中:
两4表现子网掩码:二55.两55.两55.0
16暗示子网掩码:两55.两55.0.0
8示意子网掩码:二55.0.0.0
以deny all; 末端,示意除了了下面容许的,其他的皆禁行。如:
deny 19两.168.1.1;
allow 1两7.0.0.0/两4;
allow 19二.168.0.0/16;
allow 10.10.0.0/8;
deny all;
4、配备nginx,禁行造孽域名解析造访企业网站
办法1:让利用IP造访网站的用户,或者歹意接卸域名的用户,支到501错误,配备如高:
server {
listen 80 default_server;
server_name _;
return 501;
}
办法两:经由过程301跳转主页,安排如高:
server {
listen 80 default_server;
server_name _;
rewrite ^(.*) https://baitexiaoyuan.oss-cn-zhangjiakou.aliyuncs.com/nginx/pwu313t2ja4>
办法3:创造某域名歹意解析到私司的就事器IP,正在server标签面加添下列代码便可,如有多个server要多处加添。
if ($host !~ ^www/.dmtest/.com$) {
rewrite ^(.*) http://www.dmtest.com.com$1 permanent;
}
以上等于nginx如果禁行造访php的具体形式,更多请存眷萤水红IT仄台此外相闭文章!
发表评论 取消回复