华为ICT培训-高端面授华为ICT培训机构
云和教育:云和数据集团高端IT职业教育品牌
  • 华为
    授权培训中心
  • 腾讯云
    一级认证培训中心
  • 百度营销大学
    豫陕深授权运营中心
  • Oracle甲骨文
    OAEP中心
  • Microsoft Azure
    微软云合作伙伴
  • Unity公司
    战略合作伙伴
  • 普华基础软件
    战略合作伙伴
  • 新开普(股票代码300248)
    旗下丹诚开普投资
  • 中国互联网百强企业锐之旗
    旗下锐旗资本投资

郑州php培训教程:Nginx/Apache下禁止目录运行PHP脚本

  • 发布时间:
    2016-10-17
  • 版权所有:
    云和教育
  • 分享:

郑州php培训教程:Nginx/Apache下禁止目录运行PHP脚本

云和教育作为云和数据旗下高端泛IT职业教育品牌,开设有UI总监班、PHP高薪班、JAVA大数据班、HTML5专家班、Unity虚拟现实大师班五大精品课程。

课程设置紧跟时代“前端”发展和“后端”需要。采用小班教学,金牌讲师面授辅导,采用沉浸式的教学模式,8+2的学习模式,学员毕业即拥有1-2年工作经验,贴近企业需求,保证高薪就业!

网站程序的上传目录通常是不需要PHP执行解释权限,通过限制目录的PHP执行权限可以提网站的安全性,减少被攻击的机率。

下面和大家一起分享下如何在Apache和Nginx禁止上传目录里PHP的执行权限。

Apache下禁止指定目录运行PHP脚本

在虚拟主机配置文件中增加php_flag engine off指令即可,配置如下

<Directory ~ “/website/uploads”>

Options FollowSymLinks

AllowOverride None

Order allow,deny

Allow from all

php_flag engine off

</Directory>

Nginx下禁止指定目录运行PHP脚本

Nginx更简单,直接通过location条件匹配定位后进行权限禁止。

在server配置段中增加如下的配置

如果是单个目录

location ~* ^/uploads/.*.(php|php5)$

{

deny all;

}

如果是多个目录

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;

}

最后给一个完整的配置示例

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生效。