您的位置:首页 > 运维架构 > Apache

限定某个目录禁止解析(apache)

2017-12-06 16:16 162 查看

限定某个目录禁止解析

一个公共的可以上传图片的目录下,应该给该目录做php禁止解析,这样就会防止其它人上传php的木马。

[root@chy ~]# vi /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
<Directory /data/wwwroot/111.com/upload>
php_admin_flag engine off
<FilesMatch (.*)\.php(.*)>
Order allow,deny
Deny from all
</FilesMatch>
</Directory>
主要配置如上,配置详解
<Directory /data/wwwroot/111.com/upload>(给111.com下面的upload目录做禁止php解析
php_admin_flag engine off(禁止php解析)
<FilesMatch (.*)\.php(.*)>(通配所有的php)
Order allow,deny
Deny from all(拒绝所有的php)
</FilesMatch>
</Directory>(这里做filesmatch (deny)是因为不deny php会访问源代码)
[root@chy ~]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
[root@chy ~]# /usr/local/apache2.4/bin/apachectl graceful
(查看下配置是否有问题,然后加载配置)

测试php解析

[root@chy 111.com]# mkdir /data/wwwroot/111.com/upload
(创建一个php目录)
[root@chy 111.com]# ls
123.php  admin  index.php  lf.png  upload
[root@chy 111.com]# cp 123.php upload/
(将123.phpcp到upload目录下)
[root@chy 111.com]# curl -x192.168.212.10:80 'http://www.111.com/upload/123.php' -I
HTTP/1.1 403 Forbidden
Date: Thu, 03 Aug 2017 21:57:03 GMT
Server: Apache/2.4.27 (Unix) PHP/5.6.30
Content-Type: text/html; charset=iso-8859-1
[root@chy 111.com]# curl -x192.168.212.10:80 'http://www.111.com/upload/123.php'
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access /upload/123.php
on this server.<br />
</p>
</body></html>
(如上这两的测试是 <FilesMatch (.*)\.php(.*)>(通配所有的php)
Order allow,deny
Deny from all(拒绝所有的php)
</FilesMatch>
</Directory>(这里做filesmatch (deny)是因为不deny php会访问源代码)在不让解析php的同时也不让访问源代码的操作)
[root@chy 111.com]# curl -x192.168.212.10:80 'http://www.111.com/upload/123.php'
<?php
echo "chyloveff";
php?>
(经过测试当不加 <FilesMatch (.*)\.php(.*)>(通配所有的php)
Order allow,deny
Deny from all(拒绝所有的php)
</FilesMatch>
</Directory> 这步操作是会下在php的源代码这样来说是非常危险的)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息