纸水仙 发表于 2018-11-18 08:46:02

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

限定某个目录禁止解析

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


# vi /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

php_admin_flag engine off

Order allow,deny
Deny from all


主要配置如上,配置详解
(给111.com下面的upload目录做禁止php解析
php_admin_flag engine off(禁止php解析)
(通配所有的php)
Order allow,deny
Deny from all(拒绝所有的php)

(这里做filesmatch (deny)是因为不deny php会访问源代码)
# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
# /usr/local/apache2.4/bin/apachectl graceful
(查看下配置是否有问题,然后加载配置)
  测试php解析

# mkdir /data/wwwroot/111.com/upload
(创建一个php目录)
# ls
123.phpadminindex.phplf.pngupload
# cp 123.php upload/
(将123.phpcp到upload目录下)
# 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
# curl -x192.168.212.10:80 'http://www.111.com/upload/123.php'


403 Forbidden

Forbidden
You don't have permission to access /upload/123.php
on this server.


(如上这两的测试是 (通配所有的php)
Order allow,deny
Deny from all(拒绝所有的php)

(这里做filesmatch (deny)是因为不deny php会访问源代码)在不让解析php的同时也不让访问源代码的操作)
# curl -x192.168.212.10:80 'http://www.111.com/upload/123.php'

(经过测试当不加 (通配所有的php)
Order allow,deny
Deny from all(拒绝所有的php)

这步操作是会下在php的源代码这样来说是非常危险的)


页: [1]
查看完整版本: 限定某个目录禁止解析(apache)