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

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

时间: 2024-12-25 15:05:16

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

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

? 首先我们来看两段对上传目录设置无权限的列子,配置如下: <Directory "要去掉PHP执行权限的目录路径,如/upload"> ErrorDocument 404 /404/404.html ErrorDocument 403 /404/403.html <FilesMatch "\.(?i:php|php3|php4)$"> // ?是尽可能多的匹配.php的字符串,i是不区分大小写,然后冒号后面跟上正则表达式,也可以写成:<

linux 文件或目录的权限和属性

1.windows 和linux文件类型的区别 windows 里是通过扩展名来区分文件类型的:linux里文件扩展名和文件类型没有关系,为了容易区分和箭筒用户使用的windows的习惯,我们也会用扩展名来表示linux文件类型,linux 系统中,一切皆文件. 2.linux系统查看文件类型 [[email protected] ~]# ls  -l 总用量 72556 -rw-------. 1 root root     1104 7月   6 00:51 anaconda-ks.cfg

文件和目录的权限及相关命令

文件和目录的权限分析 可读(r.4):可写(w.2):可执行(x.1)文件: r(read)可读取文本内容,文字内容 w(write)编辑,新增,修改文件内容(不含删除,若删除要为文件拥有者或组) x(eXecute):可执行 目录: r(read contents in directory):读取目录及结构列表,查询该目录下的文件数据,例如用ls命令 w(modify comtents of directory):更改目录结构列表权限(前提要对目录有x的权限) 1:新建文件或目录 2:删除已存

&#8203;Linux文件和目录特殊权限位介绍及实践&#8203;(setuid setgid)

            Linux文件和目录特殊权限位介绍及实践 在Linux中不管是超级用户root还是普通用户都可以使用命令"passwd"命令修改自己的密码,但是了解Linux的人都知道Linux密码是存放在/etc/passwd  /etc/shadow  里面的 用ls -l /etc/passwd  /etc/shadow 查看一下权限 [[email protected] ~]# ls -l /etc/passwd /etc/shadow -rw-r--r--. 1 ro

文件或目录的权限chmod,chown更改所有者和所属组,umask及隐藏权限

文件或目录的权限chmod -rwxr--r--. 1 root root 0 6月 8 20:22 2.txt 可读(r)可写(w)可执行(x),第一段是所有者,第二段是所属组,第三段是其他人 r=4,w=2,x=1.rwx=7,rw-=6, --x=1,rw-r--r--=644, rw-r-xr-x=655 chmod === change mode改变权限 如:rwx------=700 chmod 700 2.txt [[email protected] ~]# chmod 700 2

Linux中文件和目录的权限关系

最近一直在学习linux,对文件和目录的权限有了新的认识,感觉想要理清楚还是需要花点心思的. 注意:1.以下的情况只针对文件或目录的所有者(u)来说:2.只针对ext4文件系统 在了解之前先说一下新建.删除.修改文件在系统底层是如何运行的.磁盘分两部分来存放文件的,其中一部分存放的是文件的属性(元数据)比如:文件大小.修改日期.权限等,另一部分才是数据内容.当新建一个文件时会对应创建它的元数据,还会给文件分配一个节点号(inode).当要查找这个文件时,是先找到对应的节点号,再通过节点表去数据存

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

对文件的权限管理 ls -l,也可以用 ll 命令查看文件权限的相关信息 第一列"-rw-r--r--."为权限信息,权限信息的最后一个点表示为在安全环境下创建的 第二列"1"为硬链接数,第三列"root"为属主,第四列"root"为属组,第五列"18"为文件大小 第六.七.八列"Aug 6 00:22"为文件创建的时间,为 8 月 6 日 00:22 第九列"123.txt&

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

chmod /bin/chmod chmod [{ugoa}{+-=}{rwx}] [文件或目录]chmod [mode=421] [文件或目录]-R 递归修改 只有 root 和 所有者 可以修改一个文件或目录的权限 u所有者 g所属组 o其它人 a所有人 chmod u+x 文件名chmod u+x,o-r 文件名chmod g=rwx 文件名 r -- 4, w -- 2, x -- 1 chmod 760 文件名 root用户: mkdir -p /temp/test.dirtouch

chmod 变更文件或目录的权限

chmod 与 find 命令结合 修改一个目录及子目录下所有匹配到的文件的可执行权限 -------------------------------------------------------------- examples 1: 1.给一个目录及子目录下所有脚本文件添加可执行权限 find ./dir -name *.sh -exec chmod +x {} \; 原文地址:https://www.cnblogs.com/koudai191209/p/12084203.html