Home 建站 Apache Nginx、Apache安...

Nginx、Apache安全设置 禁止上传目录或者指定目录执行php

0

在实际部署网站(尤其是 WordPress、CMS、或具备文件上传功能的网站)时,上传目录往往不应执行 PHP 文件,以避免被植入木马脚本。以下提供 Nginx 与 Apache 的常用安全配置示例。


 Nginx 配置示例

禁止在指定目录(如:wp-contentuploadswp-includesimages 等)执行 .php / .php5 / .js 文件:

location ~ /(wp-content|uploads|wp-includes|images)/.*\.(php|php5|js)$ {
    deny all;
}

 用途: 阻止上传目录下的动态脚本被执行,提升站点安全性。  提示: 更适合 WordPress、Laravel、Discuz 等支持静态资源上传的网站。


 Apache 配置示例

Apache 中可通过不同方式禁止 PHP 文件被解析或执行。


方法一:禁用目录下的 PHP 引擎(推荐)

<Directory /uploads/test>
    php_flag engine off
</Directory>

 效果: 该目录下所有 .php 文件均不会被解析执行。  注意: 适用于启用了 mod_php 的环境。


方法二:直接阻止 PHP 文件访问

<Directory ~ "^/uploads/test/.*">
    <Files ~ "\.(php|php5)$">
        Order allow,deny
        Deny from all
    </Files>
</Directory>

 效果: 阻止用户访问指定目录下的 PHP 文件。  适用: 无论 PHP 模块如何加载,此规则都可限制访问。


 建议

  • 上传目录应仅允许图片、文档等静态文件,不应执行脚本。
  • 确保目录权限(如 755 / 644)正确配置。
  • 结合 WAF、安全插件、防火墙 提高整体安全性。

NO COMMENTS

LEAVE A REPLY

Please enter your comment!
Please enter your name here

退出移动版