• 433阅读
  • 3回复

Nginx/Apache下如何禁止指定目录运行PHP脚本

楼层直达
y)F;zW<+  
Nginx/Apache下如何禁止指定目录运行PHP脚本 3Vsc 9B"w  
网站程序的上传目录通常是不需要PHP执行解释权限,通过限制目录的PHP执行权限可以提网站的安全性,减少被攻击的机率。 &K[_J  
* "R|4"uy  
{_b%/eR1  
.clP#r{U  
下面和大家一起分享下如何在Apache和Nginx禁止上传目录里PHP的执行权限。 _6_IP0;  
3Dg,GaRk  
Apache下禁止指定目录运行PHP脚本 Dakoqke  
在虚拟主机配置文件中增加php_flag engine off指令即可,配置如下 5 elw~u  
,RE\$~`w  
"/website/uploads">   ?bPRxR  
  Options FollowSymLinks   pM x  
  AllowOverride None   Ol1e/Wv  
  Order allow,deny   M54j@_81pX  
  Allow from all   cS>e?  
  php_flag engine off   T~QWRBO  
   km)zMoE{c{  
kdCUORMK  
Nginx下禁止指定目录运行PHP脚本 5:O-tgig.  
Nginx更简单,直接通过location条件匹配定位后进行权限禁止。 S M!Txe#  
9l}FU$  
在server配置段中增加如下的配置 HOw -]JSP2  
t>1Z\lE\"  
如果是单个目录 GN-mrQo  
K#*reJ}K  
location ~* ^/uploads/.*\.(php|php5)$ dlJbI}-v=  
{   +6UVn\9Q  
deny all; j;s"q]"x]  
}   ZN! 4;  
Sl-v W  
如果是多个目录 P`#Z9 HM4  
Mu{;vf|j  
location ~* ^/(attachments|uploads)/.*\.(php|php5)$ A-,up{g  
{ {Zh>mHW3  
deny all; )dY=0"4Z  
}   cU{e`<xjA  
jy giG&H  
注意:这段配置文件一定要放在下面配置的前面才可以生效。 ,$'])A?$  
 EI_  
location ~ \.php$ { " R-!(9k^`  
fastcgi_pass 127.0.0.1:9000; GN!qyT  
fastcgi_index index.php; p/U+0f  
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; wjh=Q  
include fastcgi_params; NPd%M  
} M/):e$S  
Ee@4 %/v  
最后给一个完整的配置示例 ;Ra+=z}>  
:=8t"rO=W  
location ~ /mm/(data|uploads|templets)/*.(php)$ { :.?gHF.?  
deny all; "Ae@lINn[y  
} 63.wL0~  
location ~ .php$ { V^hE}`>z&  
try_files $uri /404.html; hUD7_arKF  
fastcgi_pass 127.0.0.1:9000; 7lS#f1E  
fastcgi_index index.php; u$D*tqxG  
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; O/.Uh`T`6  
include fastcgi_params; n.sbr  
} :>aQ~1f>]  
Cn>ADWpT&  
配置完后记得重启Nginx生效。 Oky**B[D'  
 
只看该作者 安逸沙发  发表于: 2018-10-03
Nginx|Apache目录权限禁止执行PHP设置 "0F =txduS  
Ngnix: >bia FK>t  
GoI3hp(  
location ~ /upload/.*.(php|php5)?$ { #:{Bd8PS  
 o *2TH2  
deny all; n&Q{ [E  
} Yyq:5V!  
这就是禁止upload内执行php,但是图片可以打开哦 #?)g?u%g=  
hr&&"d {s  
d'~ kf#  
\|\ Dc0p}  
多目录禁止: 4,CQJ  
j(4BMk  
location ~ /(upload|upload1|upload2)/.*.(php|php5)?$ { tbHU(#~  
deny all; zPWX%1Qr  
} aIV(&7KT4  
x<#Z3Kla  
i$HA@S  
这就禁止了upload,upload1,upload2三个目录 p!^.;c  
ad^7t<a}<  
RUHQ]@d#T  
'^f,H1oW  
Apache: T1TKwU8l  
\sB a  
.htaccess控制,适用于没有服务器管理权限。 Y<%)Im6v/  
在可写文件夹的目录下,建一个.htaccess文件,内容为: g.yr) LHt0  
^`ah\L  
<Files ~ ".php">   wc7gOrPpm  
    Order  allow,deny   G gmv(!  
    Deny  from  all   !1 :%!7  
</Files> S?pWxHR]  
?.1yNO*s  
w1q-bIU  
apache配置文件先设置: mS)|i+5  
`[) awP  
复制代码 Zy !^HS$  
<Directory /www/www./upload> #0OW0:Q  
php_flag engine off p'SclH[   
</Directory> {'O,G$Ldkr  
<Directory ~ "^/www/.*/upload"> k*xMe-  
<Files ~ ".php"> 42E%&DF  
Order allow,deny _!qi`A  
Deny from all K9\r2w'T'  
</Files> $?Dcp^  
</Directory> K;L6<a A#  
复制代码
快速回复

限100 字节
安逸网提示:如果您在写长篇帖子又不马上发表,建议存为草稿
 
认证码:
上一个 下一个