我们的论坛设置的用户上传文件是存放在/data/www/data/目录下
随便在我们的论坛上发个帖子,并上传一张图片
我们来找找看这张图片具体存在哪里:
[root@centos6 data]# cd p_w_upload/forum/
[root@centos6 forum]# ls -F
201701/
[root@centos6 forum]# cd 201701/
[root@centos6 201701]# ls -F
15/ index.html
[root@centos6 201701]# cd 15
[root@centos6 15]# ls
010620iksfhkkxvki105vd.jpg index.html
可见用户上传的图片存放在
/data/www/data/p_w_upload/forum/201701/15/010620iksfhkkxvki105vd.jpg
在浏览器可以直接查看到这张图片,如果没有设置防盗链也可下载到该图片。
我们在/data/www/data目录下新建一个php文件
[root@centos6 ~]# cd /data/www/data/
[root@centos6 data]# vim info.php
<?php
phpinfo();
?>
不做任何限制的时候,服务器默认是可以解析该PHP文件的,这里是显示服务器的配置,如果是用户上传的php***或病毒,那么服务器就危险了。
我们需要关闭PHP解析引擎:编辑Apache的虚拟主机配置文件,对网站根目录下的data目录关闭其php解析引擎,只需添加如下代码:
[root@centos6 apache2]# vim conf/extra/httpd-vhosts.conf
……
<filesmatch "(.*)admin(.*)">
Order deny,allow
Deny from all
Allow from 127.0.0.1
</filesmatch>
<Directory /data/www/data>
php_admin_flag engine off
</Directory>
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.aaa.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.bbb.com$
RewriteRule ^/(.*)$ http://www.test.com/$1 [R=301,L]
</IfModule>
……
检查无误后重新加载配置文件:
[root@centos6 apache2]# apachectl -t
Syntax OK
[root@centos6 apache2]# apachectl graceful
再去访问该文件:
回车后直接把文件下载下来了
再来禁止下载PHP文件:
[root@centos6 apache2]# vim conf/extra/httpd-vhosts.conf
……
<filesmatch "(.*)admin(.*)">
Order deny,allow
Deny from all
Allow from 127.0.0.1
</filesmatch>
<Directory /data/www/data>
php_admin_flag engine off
<filesmatch "(.*)php">
Order deny,allow
Deny from all
Allow from 127.0.0.1
</filesmatch>
</Directory>
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.aaa.com$ [OR]
……
检查无误后重新加载配置文件
[root@centos6 apache2]# apachectl -t
Syntax OK
[root@centos6 apache2]# apachectl graceful
再去访问,发现403,也没下载,实现了我们的目的
使用curl命令测试,发现解析不出来PHP
[root@centos6 apache2]# curl -x127.0.0.1:80 www.test.com/data/info.php
<?php
phpinfo();
?>
这里也可以去掉Allow 127.0.0.1这条规则
[root@centos6 apache2]# vim conf/extra/httpd-vhosts.conf
……
<filesmatch "(.*)admin(.*)">
Order deny,allow
Deny from all
Allow from 127.0.0.1
</filesmatch>
<Directory /data/www/data>
php_admin_flag engine off
<filesmatch "(.*)php">
Order deny,allow
Deny from all
</filesmatch>
</Directory>
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.aaa.com$ [OR]
……
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
本文名称:LAMP搭建14:Apache禁止解析PHP-创新互联
网站路径:https://www.cdcxhl.com/article42/eoehc.html
成都网站建设公司_创新互联,为您提供域名注册、网站导航、ChatGPT、品牌网站设计、企业网站制作、网站营销
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联