溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

LAMP搭建14:Apache禁止解析PHP

發(fā)布時間:2020-10-24 15:43:58 來源:網(wǎng)絡(luò) 閱讀:402 作者:Rachy1989 欄目:web開發(fā)

我們的論壇設(shè)置的用戶上傳文件是存放在/data/www/data/目錄下

LAMP搭建14:Apache禁止解析PHP

隨便在我們的論壇上發(fā)個帖子,并上傳一張圖片

LAMP搭建14:Apache禁止解析PHP

我們來找找看這張圖片具體存在哪里:

[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

在瀏覽器可以直接查看到這張圖片,如果沒有設(shè)置防盜鏈也可下載到該圖片。

LAMP搭建14:Apache禁止解析PHP

我們在/data/www/data目錄下新建一個php文件

[root@centos6 ~]# cd /data/www/data/

[root@centos6 data]# vim info.php

<?php

phpinfo();

?>

不做任何限制的時候,服務(wù)器默認是可以解析該PHP文件的,這里是顯示服務(wù)器的配置,如果是用戶上傳的php***或病毒,那么服務(wù)器就危險了。

LAMP搭建14:Apache禁止解析PHP

我們需要關(guān)閉PHP解析引擎:編輯Apache的虛擬主機配置文件,對網(wǎng)站根目錄下的data目錄關(guān)閉其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

再去訪問該文件:

LAMP搭建14:Apache禁止解析PHP

回車后直接把文件下載下來了

LAMP搭建14:Apache禁止解析PHP

再來禁止下載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

再去訪問,發(fā)現(xiàn)403,也沒下載,實現(xiàn)了我們的目的

LAMP搭建14:Apache禁止解析PHP

使用curl命令測試,發(fā)現(xiàn)解析不出來PHP

[root@centos6 apache2]# curl -x127.0.0.1:80 www.test.com/data/info.php

<?php

phpinfo();

?>

這里也可以去掉Allow 127.0.0.1這條規(guī)則

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

……


向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI