Apache Nginx 禁止目录执行PHP脚本文件的方法

我们在搭建网站的时候,可能需要单独对一些目录进行设置权限,以达到我们需要的安全效果。下面举例说明在Apache或Nginx下如何设置禁止某个目录执行php文件。

1.Apache配置

<Directory /apps/web/renwole/wp-content/uploads>
 php_flag engine off
</Directory>
<Directory ~ "^/apps/web/renwole/wp-content/uploads">
 <Files ~ ".php">
 Order allow,deny
 Deny from all
 </Files>
</Directory>

2.Nginx配置

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

Nginx禁止多个目录执行PHP:

location ~* ^/(css|uploads)/.*\.(php)${
  deny all;
}

配置完成后,重载配置文件或重启Apache或Nginx服务,之后所有通过uploads来访问php文件,都将返回403,大大地增加了web目录安全性。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Linux下创建nginx脚本-start、stop、reload…

    1.关闭nginx 利用ps -aux | grep nginx 查看nginx是否启动 如果启动了就kill杀死 2.创建/etc/init.d/nginx文件 root@dnnp:~/software/nginx-1.2.3# vim /etc/init.d/nginx 3.添加权限并启动 root@dnnp:~/software/nginx-1.2.3# chmod +x /etc/init.d/nginx root@dnnp:~/software/nginx-1.2.3# /etc/in

  • shell脚本定时统计Nginx下access.log的PV并发送给API保存到数据库

    1,统计PV和IP 统计当天的PV(Page View) cat access.log | sed -n /`date "+%d\/%b\/%Y"`/p |wc -l 统计某一天的PV cat access.log | sed -n '/20\/Sep\/2018/p' | wc -l 查看日志中访问次数最多的前10个IP cat access.log.1 |cut -d ' ' -f 1 | sort |uniq -c | sort -nr | awk '{print $0 }' |

  • Nginx中使用Lua脚本配置示例

    先配置nginx 复制代码 代码如下: location ~ .*\.(php|php5)?$         {                 if ($request_uri ~ "one/test") {                         access_by_lua_file /opt/nginxrw/lua/limiturl.lua;                 }                 fastcgi_pass  127.0.0.1:9000;

  • Nginx和PHP-FPM的启动、重启、停止脚本分享

    服务器上的Nginx和PHP都是源码编译安装的,不像ubuntu一样有自带service启动脚本,所以不支持类似以前的nginx (start|restart|stop|reload)了.自己动手丰衣足食.以下脚本应该在RHEL, Fedora, CentOS下都适用. 一.Nginx启动脚本/etc/init.d/nginx 复制代码 代码如下: #!/bin/bash # # Startup script for Nginx - this script starts and stops th

  • 在ubuntu下为nginx配置支持cgi脚本的方案

    在nginx下支持cgi脚本于支持node类似的,只要在nginx直接做个转发,转发到对应的cgi套接字就好. 使用Fcgiwrap Fcgiqwrap是另外一个CGI封装库,跟Simple CGI类似. 安装fcgiwrap apt-get install fcgiwrap 安装以后fcgiwrap默认已经启动,对应的套接字是 /var/run/fcgiwrap.socket .如果没有启动,使用 /etc/init.d/fcgiwrap 手动启动. 配置nginx的vhost文件 在要支持c

  • PHP脚本监控Nginx 502错误并自动重启php-fpm

    最近服务器时不时出现Nginx 502 Bad Gateway,如果在电脑旁边还好,要是半夜或者出去了,怎么办? 没关系,写个脚本检测服务状态,发现异常,自动重启. 自动重启脚本: 复制代码 代码如下: <?php $url = 'http://blog.rebill.info'; $cmd = '/usr/local/php/sbin/php-fpm restart';   for($i = 0; $i < 5; $i ++){         $exec = "curl  con

  • nginx源码分析configure脚本详解

    nginx源码分析--configure脚本 一.前言 在分析源码时,经常可以看到类似 #if (NGX_PCRE) .... #endif 这样的代码段,这样的设计可以在不改动源码的情况下,通过简单的定义宏的方式来实现功能的打开与关闭,但是在nginx/src目录下始终没有找到宏 NGX_PCRE 对应的 #define 语句. 在之前介绍event模块的时候,讲到init_cycle函数中对cycle进行了初始化,其中很重要一步操作就是讲包含所有module信息的数组拷贝到这个cycle对应

  • 使用shell脚本对Nginx日志进行切分的示例代码

    本文介绍了使用shell脚本对Nginx日志进行切分的示例代码,分享给大家,具体如下: 1.日志格式 默认的日志格式: main log_format main '$remote_addr - $remote_user [$time_local] "$request" ' $status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_f

  • 详解Nginx SSL快速双向认证配置(脚本)

    目前遇到一个项目有安全性要求,要求只有个别用户有权限访问.本着能用配置解决就绝不用代码解决的原则,在Nginx上做一下限制和修改即可. 这种需求其实实现方式很多,经过综合评估考虑,觉得SSL双向认证方案对用户使用最简单,遂决定用此方案. 注: 本方案在Ubuntu Server 16.04 LTS实施,其他操作系统请酌情修改 SSL双向认证 绝大多数SSL应用都以单向认证为主,即客户端只要信任服务端,就可以使用服务端的公钥加密后向服务端发起请求,由服务端的私钥解密之后获得请求数据. 如果这个过程

  • shell脚本之nginx自动化脚本

    这个脚本,可以满足nginx开启,停止和重启的操作 #!/bin/bash . /etc/init.d/functions function usage() { echo $"usage:$0 {start|stop|restart}" exit 1 } function start() { /usr/local/nginx/sbin/nginx sleep 1 if [ `netstat -antlpe | grep nginx | wc -l` -ge 0 ];then actio

随机推荐