我们来看俩段通常对上传目录设置无权限的列子,配置如下:

代码如下:

<Directory "/var/www/upload">
<FilesMatch ".php">
Order Allow,Deny
Deny from all
</FilesMatch>
</Directory>

这些配置表面上看起来是没什么问题的,确实在windows下可以这么说。
但是linux就不同了,大家都是知道的linux操作系统是区分大小写的,这里如果换成大写后缀名*.phP一类就pass了

这里我说下我个人的解决方法,代码如下:

<Directory "要去掉PHP执行权限的目录路径,例如:D:/piaoyun.cc/upload">
ErrorDocument 404 /404/404.html
ErrorDocument 403 /404/403.html
<FilesMatch "\.(?i:php|php3|php4)$"> // ?是尽可能多的匹配.php的字符串,i是不区分大小写,然后冒号后面跟上正则表达式,也可以写成:<FilesMatch "\.(php|php3)$">
Order allow,deny
Deny from all
</FilesMatch>
</Directory>

上面的意思就是说,<Directory "要去掉PHP执行权限的目录路径,例如:D:/piaoyun.cc/upload"> 内目录路径下所有php文件不区分大小写,通过order,allow,deny原则判断拒绝执行php文件,对nginx同样也是可应用的

另外一种方法,是设置在htaccess里面的,这个方法比较灵活一点,针对那些没有apapche安全操作权限的网站管理员:
Apache环境规则内容如下:Apache执行php脚本限制 把这些规则添加到.htaccess文件中
代码如下:

RewriteEngine on RewriteCond % !^$
RewriteRule uploads/(.*).(php)$ – [F]
RewriteRule data/(.*).(php)$ – [F]
RewriteRule templets/(.*).(php)$ –[F]

另外一种方法,代码如下:

<Directory "/var/www/upload">
php_admin_flag engine off
</Directory>

此方法我在win系统下面测试失败了,重新启动apapche出现下面的错误信息:
The Apache service named reported the following error:
>>> Invalid command 'php_flag', perhaps misspelled or defined by a module not included in the server configuration.

这里我就不具体说明这个解决办法了,因为禁止php执行的方法,大家看自己的需求去设置就可以了!

【apache配置禁止访问】
1. 禁止访问某些文件/目录
增加Files选项来控制,比如要不允许访问 .inc 扩展名的文件,保护php类库:

<Files ~ "\.inc$">
Order allow,deny
Deny from all
</Files>

禁止访问某些指定的目录:(可以用 <DirectoryMatch> 来进行正则匹配)

<Directory ~ "^/var/www/(.+/)*[0-9]{3}">
Order allow,deny
Deny from all
</Directory>

通过文件匹配来进行禁止,比如禁止所有针对图片的访问:

<FilesMatch \.(?i:gif|jpe?g|png)$>
Order allow,deny
Deny from all
</FilesMatch>

针对URL相对路径的禁止访问:

<Location /dir/>
Order allow,deny
Deny from all
</Location>

针对代理方式禁止对某些目标的访问(<ProxyMatch> 可以用来正则匹配),比如拒绝通过代理访问cnn.com:

<Proxy http://piaoyun.cc/*>
Order allow,deny
Deny from all
</Proxy>

2. 禁止某些IP访问/只允许某些IP访问
如果要控制禁止某些非法IP访问,在Directory选项控制:

<Directory "/var/www/web/">
Order allow,deny
Allow from all
Deny from 10.0.0.1 #阻止一个IP
Deny from 192.168.0.0/24 #阻止一个IP段
</Directory>

只允许某些IP访问,适合比如就允许内部或者合作公司访问:

<Directory "/var/www/web/">
Order deny,allow
Deny from all
All from example.com #允许某个域名
All from 10.0.0.1 #允许一个iP
All from 10.0.0.1 10.0.0.2 #允许多个iP
Allow from 10.1.0.0/255.255.0.0 #允许一个IP段,掩码对
All from 10.0.1 192.168 #允许一个IP段,后面不填写
All from 192.168.0.0/24 #允许一个IP段,网络号
</Directory>

Apache:解决办法;

<Directory "/home/domain/public_html">
Options -Indexes FollowSymLinks
AllowOverride All
<Files ~ ".txt">
Order allow,deny
Deny from all
</Files>
</Directory>

转载于:https://www.cnblogs.com/hechunhua/p/3886643.html

apache禁止访问文件或目录执行权限、禁止运行脚本PHP文件的设置方法相关推荐

  1. Linux——文件或目录的权限管理、网络管理、进程管理、服务管理的相关命令

    1.文件或目录的权限管理命令 一个用户至少属于一个组,也可以属于多个组:一个文件或者目录也必须属于一个,并且只能属于一个组: 在一个文件或者目录看来,linux系统中所有的用户可以分为三类:所有者:同 ...

  2. iis、apache与nginx禁止目录执行asp、php脚本的实现方法

    为了网站安全,很多图片上传目录等不需要执行脚本的目录我们可以通过下面的方法禁止执行脚本. 一般iis中比较简单,iis6如下图所示即可: 很多购买虚拟主机空间的用户,如果空间商提供了在线管理程序,也可 ...

  3. linux 7 没有权限访问,[CentOS 7系列]文件或目录的权限与属性

    在开始今天的话题之前,我们首先来回顾下ls命令.在ls命令中参数"-l"会显示出来目标的详细信息,如下所示: [root@server02~]#ls-l/tmp/ 总用量4 -rw ...

  4. Linux学习笔记三【文件及目录的权限管理篇】

    文件及目录的权限管理 上篇简单介绍了下文件和目录的一些简单的操作,接下来介绍用户和文件权限的管理.首先了解用户和组账号的配置文件,然后是管理用户和组账号,最后要会设置文件和目录权限和归属. Linux ...

  5. Linux--账号和权限管理(用户账号和组账号,用户账号和组帐号管理,文件和目录的权限和归属)

    文章目录 前言 一.用户账号和组账号 1.1用户账号 1.2组账号 1.3UID号和GID号 1.4用户账号文件 1.4.1用户账号文件/etc/passwd 1.4.2用户账号文件/etc/shad ...

  6. Linux:chmod命令-修改文件或目录的权限

    给新安装的tomcat/bin目录下的所有文件增加执行权限(所有用户.组) chmod -R a+x /usr/local/tomcat/bin --------------------------- ...

  7. Linux常用命令(本篇包括,Linux目录结构介绍、Linux Shell介绍、9个常见命令介绍、文件的概念、文件的操作(20个)、目录的操作、文件和目录的权限、文件压缩及解压缩)

    Linux常用命令(本篇包括,Linux目录结构介绍.Linux Shell介绍.9个常见命令介绍.文件的概念.文件的操作(20个).目录的操作.文件和目录的权限.文件压缩及解压缩)         ...

  8. linux查看和修改文件与目录的权限

    1.linux查看目录和文件权限 使用带"-l"选项的ls命令时,将以长格式显示文件或目录的详细信息,其中包括了该文件的权限和归属等参数.例如,执行如下操作列出当前目录下子目录和文 ...

  9. chmod 赋权所有_可以使用命令chmod来为文件或目录赋予权限

    可以使用命令chmod来为文件或目录赋予权限.Linux/Unix 的档案存取权限分为三级 : 档案拥有者.群组.其他.利用 chmod 可以藉以控制档案如何被他人所存取 二 详解 1 此命令有两种使 ...

最新文章

  1. P4588 [TJOI2018]数学计算(线段树维护区间乘和单点修改)
  2. 三维人脸识别研究进展综述(附pdf)
  3. vue中解决时间在ios上显示NAN的问题
  4. PAT甲级1140 Look-and-say Sequence:[C++题解]统计连续个数
  5. 最优乘车pascal程序
  6. RSS、RSSI以及dBm相关概念
  7. python中时间模块
  8. AliasDB:简单统一灵活的数据库访问库(支持MSSQL/MySQL/SQLite/Oracle/ODBC/OleDb)适用于中小型系统...
  9. 机器人技术大提升:NVIDIA为构建自主机器统一平台树立里程碑
  10. webpack+es6+node+react初实践及总结
  11. 关于K8s技术架构的几个问题
  12. 服务器自动删路由,云服务器Windows下添加、删除和修改静态路由
  13. 深入理解JS中和||
  14. html的meta标签的作用
  15. TCP/IP基础介绍
  16. Zip 命令打包移除多余隐藏文件
  17. Excel如何对多分隔符号数据进行分列
  18. html计算梯形的面积,梯形的面积计算
  19. Python 利用PyQt5写一个简易的串口助手
  20. 计算机内存分为两种他们是,计算机内存主要有哪两种?他们的主要特点是什么?...

热门文章

  1. VISTA三步共享文件夹
  2. 1024. 科学计数法 (20)-PAT乙级真题
  3. java分桃子_Java经典编程题分桃子
  4. android 代码设置像素,【Android实例】用设计原则来重构1像素保活代码
  5. 3dmax如何显示参考图_3dmax软件当中的参照文件的作用与应用,了解一下
  6. zabbix3.0 监控mysql服务器性能实现过程
  7. 洛谷P2606 [ZJOI2010]排列计数(数位dp)
  8. 消息中间件之JMS实践(ActiveMQ) 1
  9. 从“跳一跳”来看微信小程序的未来
  10. 我对无服务器架构的一些看法