apache配置上传目录禁止运行php的方法
导读: 禁止上传目录运行php等可执行文件可以从一定程度上增加网站的安全性,
禁止上传目录运行php的方法可以用.htaccess文件, 也可以直接在apache服务器上修改配置文件.
注意:这里需要防范的文件有三种
1. 正常php文件 a.php
2. php扩展名有大小写 a.pHp a.PHP a.Php
3. 双重扩展名文件 a.php.a a.php.xml
通常只考虑到第一种情况,渗透攻击常使用2和3
修改apache配置文件httpd.conf,防范三种情况
<Directory /var/www/uploads> <FilesMatch ".(?i:php|php3|php4|php5)"> Order allow,deny Deny from all </FilesMatch> </Directory>
可以用.htaccess文件来限制上传目录运行php
.htaccess方法A (未测试)
新建一个.htaccess文件,拷贝下面的内容, 上传到要禁止运行php的文件夹内
<FilesMatch ".(?i:php|php3|php4|php5)">
Order allow,deny
Deny from all
</FilesMatch>
这种方式可以禁止执行php,但是会下载文件
<Directory "/wp-content/uploads"> AllowOverride None php_flag engine off Allow from all </Directory>
以下情况只能防止第一种情况正常php文件,需要注意
1.
<Directory "<your_dir>"> <Files ~ ".php"> Order allow,deny Deny from all </Files> </Directory>
2.用.htaccess文件
RewriteEngine on RewriteCond % !^$ RewriteRule uploads/(.*).(php)$ – [F] RewriteRule data/(.*).(php)$ – [F] RewriteRule templets/(.*).(php)$ –[F]