鄭州php培訓(xùn)教程:Nginx/Apache下禁止目錄運(yùn)行PHP腳本
云和教育作為云和數(shù)據(jù)旗下高端泛IT職業(yè)教育品牌,開(kāi)設(shè)有UI總監(jiān)班、PHP高薪班、JAVA大數(shù)據(jù)班、HTML5專(zhuān)家班、Unity虛擬現(xiàn)實(shí)大師班五大精品課程。
課程設(shè)置緊跟時(shí)代“前端”發(fā)展和“后端”需要。采用小班教學(xué),金牌講師面授輔導(dǎo),采用沉浸式的教學(xué)模式,8+2的學(xué)習(xí)模式,學(xué)員畢業(yè)即擁有1-2年工作經(jīng)驗(yàn),貼近企業(yè)需求,保證高薪就業(yè)!
網(wǎng)站程序的上傳目錄通常是不需要PHP執(zhí)行解釋權(quán)限,通過(guò)限制目錄的PHP執(zhí)行權(quán)限可以提網(wǎng)站的安全性,減少被攻擊的機(jī)率。
下面和大家一起分享下如何在Apache和Nginx禁止上傳目錄里PHP的執(zhí)行權(quán)限。
Apache下禁止指定目錄運(yùn)行PHP腳本
在虛擬主機(jī)配置文件中增加php_flag engine off指令即可,配置如下
<Directory ~ “/website/uploads”>
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
php_flag engine off
</Directory>
Nginx下禁止指定目錄運(yùn)行PHP腳本
Nginx更簡(jiǎn)單,直接通過(guò)location條件匹配定位后進(jìn)行權(quán)限禁止。
在server配置段中增加如下的配置
如果是單個(gè)目錄
location?~*?^/uploads/.*.(php|php5)$
{
deny?all;
}
如果是多個(gè)目錄
location?~*?^/(attachments|uploads)/.*.(php|php5)$
{
deny?all;
}
注意:這段配置文件一定要放在下面配置的前面才可以生效。
location?~?.php$?{
fastcgi_pass?127.0.0.1:9000;
fastcgi_index?index.php;
fastcgi_param?SCRIPT_FILENAME?$document_root$fastcgi_script_name;
include?fastcgi_params;
}
最后給一個(gè)完整的配置示例
location?~?/mm/(data|uploads|templets)/*.(php)$?{
deny?all;
}
location?~?.php$?{
try_files?$uri?/404.html;
fastcgi_pass?127.0.0.1:9000;
fastcgi_index?index.php;
fastcgi_param?SCRIPT_FILENAME?$document_root$fastcgi_script_name;
include?fastcgi_params;
}
配置完后記得重啟Nginx生效。