Apache 或 Nginx 下禁止站点或附件目录运行 PHP 脚本

如果上传目录被植入 PHP 文件,即可远程执行。为了安全起见,我们一般会对上传目录禁止运行 PHP 脚本。

在 Apache 下面我们可以通过一下方法来禁止运行 PHP 脚本:

<Directory /wp-content/uploads> 
php_flag engine off 
</Directory> 

Nginx 方法如下:

location /wp-content/uploads/ { 
 location ~ .*\.(php)?$ { 
 deny all; 
 } 

而对于多个目录的话,可以一起进行限定:

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

deny all; 

lighthttpd

$HTTP["url"] =~ "^/(forumdata|templates|upload|images)/" {
 fastcgi.server = ()
}

例子,WordPress附件目录禁止运行PHP

我用的是nginx,说说禁止方法:

location /wp-content/uploads/ {
    location ~ .*\.(php)?$ {
        deny all;
    }
}

插入你的nginx conf中,重启nginx即可。
附上一个完整的虚拟主机的例子供参考:

server
{
listen 80;
server_name bbs.vpser.net;
index index.html index.htm index.php;
root /home/wwwroot/bbs.vpser.net;include discuz.conf;
location /wp-content/uploads/ {
location ~ .*\.(php)?$ {
deny all;
}
location ~ .*.(php|php5)?$
{
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fcgi.conf;
}
access_log off;
}

添加完执行:/usr/local/nginx/sbin/nginx -t测试配置文件,执行:/usr/local/nginx/sbin/nginx -s reload 载入配置文件使其生效.

时间: 2024-10-22 18:51:21

Apache 或 Nginx 下禁止站点或附件目录运行 PHP 脚本的相关文章

Nginx/Apache下禁止指定目录运行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脚本 Ngi

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

网站程序的上传目录通常是不需要PHP执行解释权限,通过限制目录的PHP执行权限可以提网站的安全性,减少被攻击的机率. 下面和大家一起分享下如何在Apache和Nginx禁止上传目录里PHP的执行权限. Apache下禁止指定目录运行PHP脚本 在虚拟主机配置文件中增加php_flag engine off指令即可,配置如下 <Directory ~ "/website/uploads">     Options FollowSymLinks     AllowOverrid

nginx下禁止目录运行php

  nginx下禁止目录执行php的方法则简单许多,允许设定多个目录 不知道是否我对apache那个不了解,如果有更好的办法,希望大家指出共享学习.thx location ~* ^/(attachments|images)/.*.(php|php5|PHP|PHP5)$ { deny all; } 当web目录不是根目录,或者有多个目录的时候可以是 location ~* ^(/discuz/|/bbs/)/(attachments|images)/.*.(php|php5|PHP|PHP5)

apache+tomcat,如何禁止执行上传目录 里面的jsp文件。

问题描述 apache+tomcat,如何禁止执行上传目录里面的jsp文件.上传目录不在web-inf下面.要求不动代码,只能改配置..谢谢. 解决方案 解决方案二:可以在你WEB应用的web.xml文件中配置如下:<security-constraint><web-resource-collection><web-resource-name>ProtectedArea</web-resource-name><url-pattern>/downl

Apache与Nginx环境下禁止目录运行PHP脚本

如果上传目录被植入 PHP 文件,即可远程执行.为了安全起见,我们一般会对上传目录禁止运行 PHP 脚本. 在 Apache 下面我们可以通过一下方法来禁止运行 PHP 脚本: <Directory /wp-content/uploads>  php_flag engine off  </Directory>   Nginx 方法如下: location /wp-content/uploads/ {   location ~ .*\.(php)?$ {   deny all;   

nginx配置禁止访问或执行目录或文件

nginx配置: location ~ ^/(uploads|images)/.*\.(php|php5|jsp)$ {     deny all; } tips:在目录uploads.images目录下面的所有php.jsp都不能访问. 也有人会选择这样写: location ~ ^/(uploads|images)/.*\.(php|php5|jsp)$ {     return 403; } 这样也是一样的,如果配置了403页面,会跳转过去. 禁止执行脚本 location ~* /(im

Apache、Nginx下Font Awesome在 Firefox 中不显示问题解决方法_Linux

一.Nginx服务器解决方法 服务器使用的是 Nginx,要在响应的头部添加 Access-Control-Allow-Origin 字段,添加方法是用 add_header 指令: 配置例子: 复制代码 代码如下: location /assets/ {     gzip_static on;     expires max;     add_header Cache-Control public;     add_header Access-Control-Allow-Origin *; }

linux中nginx下禁止某目录执行php例子

我们禁止整个站点不能执行php文件  代码如下 复制代码 # location ~ ^/.*\.(php|php5)$ # { # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # include fcgi.conf; # deny all; # } 配置文件中加上这行!如果需要指定某个目录的话,在第一行location ~^/(目录|目录1)\.(php|php5)$有多个目录的时候可用|分开    代码如下 复制代码 禁止单目

如何在Apache和Nginx禁止上传目录里PHP的执行权限_Linux

Apache下禁止指定目录运行PHP脚本 在虚拟主机配置文件中增加php_flag engine off指令即可,配置如下: Options FollowSymLinks AllowOverride None Order allow,deny Allow from all php_flag engine off 另外一种方法,是设置在htaccess里面的,这个方法比较灵活一点,针对那些没有apapche安全操作权限的网站管理员: Apache环境规则内容如下:Apache执行php脚本限制 把