<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 "/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>

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

  1. apache环境下禁止某文件夹内运行PHP脚本、禁止访问文件或目录执行权限的设置方法

    apache环境下禁止某文件夹内运行PHP脚本.禁止访问文件或目录执行权限的设置方法   首先我们来看两段对上传目录设置无权限的列子,配置如下: <Directory "要去掉PHP执 ...

  2. python基础一 ------linux某目录下批量的为特定文件加入可执行权限

    需求: 一个文件夹中有个文件,要求对特定的文件加入可执行权限 某文件系统目录下有一系列文件:    quicksort    graph.py    heap.java    install.sh   ...

  3. Linux 文件的读写执行权限的说明

    文件的读写执行权限的说明 X 进入目录的权限: cd 1.文件本身是可执行的 2.普通用户还具备r的权限 3.root用户只需要有r的权限即可 r 查看目录/文件的内容 :ls dir 没有读的权 限 ...

  4. [转]linux如何修改文件或目录的权限(chmod)

    linux如何修改文件或目录的权限(chmod) chmod命令是linux上用于改变权限的命令,-R 是递归遍历子目录,因为你要操作的文件使用的*通配符.777,第一个7代表文件所属者的权限,第二个 ...

  5. linux 权限管理命令chmod、文件和目录的权限的意义

    chmod /bin/chmod chmod [{ugoa}{+-=}{rwx}] [文件或目录]chmod [mode=421] [文件或目录]-R 递归修改 只有 root 和 所有者 可以修改一 ...

  6. Linux - 对文件和目录的权限管理

    对文件的权限管理 ls -l,也可以用 ll 命令查看文件权限的相关信息 第一列“-rw-r--r--.”为权限信息,权限信息的最后一个点表示为在安全环境下创建的 第二列“1”为硬链接数,第三列“ro ...

  7. chmod变更文件或目录的权限

    chmod命令用来变更文件或目录的权限.在UNIX系统家族里,文件或目录权限的控制分别以读取.写入.执行3种一般权限来区分,另有3种特殊权限可供运用.用户可以使用chmod指令去变更文件与目录的权限, ...

  8. liunx下文件授权可执行权限chmod

    Cannot find ./catalina.sh The file is absent or does not have execute permission This file is needed ...

  9. Linux文件和目录的权限笔记

    查看文件或者目录的权限命令:ls -al # -a 表示全部文件包含隐藏文件,-l 表示列出每个文件的详细信息 比如执行 ls -al total 115 drwxr--x--- 4 root roo ...

随机推荐

  1. Asp.Net Mvc4分页,扩展HtmlHelper类

    1.分页方法   using System.Collections.Generic; using System.Collections.Specialized; using System.Linq; ...

  2. 【学习笔记&训练记录】数位DP

    数位DP,即对数位进行拆分,利用数位来转移的一种DP,一般采用记忆化搜索,或者是先预处理再进行转移 一个比较大略的思想就是可以对于给定的大数,进行按数位进行固定来转移记录答案 区间类型的,可以考虑前缀 ...

  3. Linux Network Related Drive

    catalog . 通过套接字通信 . 网络实现的分层模型 . 网络命名空间 . 套接字缓冲区 . 网络访问层 . 网络层 . 传输层 . 应用层 . 内核内部的网络通信 1. 通过套接字通信 Lin ...

  4. bash的变量设置

    1. myname=zhangsan //设置变量 2. echo $myname //显示变量 或者:echo ${myname} 3. myname="my name is $mynam ...

  5. POJ 2828 Buy Tickets(线段树 树状数组/单点更新)

    题目链接: 传送门 Buy Tickets Time Limit: 4000MS     Memory Limit: 65536K Description Railway tickets were d ...

  6. Mac系统搭建Go语言Sublime Text 2环境配置

    Go语言是谷歌自家的编译型语言,旨在不损失性能的前提下降低代码复杂率.其优势是让软件充分发挥多核心处理器同步多工的优点,并可解决面向对象程序设计的麻烦. 一.安装Golang的SDK 在官网http: ...

  7. Gated Recurrent Unit (GRU)公式简介

    update gate $z_t$: defines how much of the previous memory to keep around. \[z_t = \sigma ( W^z x_t+ ...

  8. BZOJ1085: [SCOI2005]骑士精神

    传送门 dfs+A*优化. A*是人工智能算法,属于启发式搜索的一部分.第一次知道这个名词是在写虫食算的时候闵神说这个用A*搞跑的比谁都快..但是当时搜了很多资料想搞清楚这个东西,但是当时还是太拿衣服 ...

  9. 一文彻底了解join的各种用法

    表a                       表b    a1    a2                 b1     b2 a01     张三         a02     数学 a02 ...

  10. Install R & RStudio for Ubuntu

    Install R r-project.org official source to install the latest R system. add R source   sudo vi /etc/ ...