lamp架构-访问控制-禁止php解析、屏蔽curl命令访问
生活随笔
收集整理的這篇文章主要介紹了
lamp架构-访问控制-禁止php解析、屏蔽curl命令访问
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
lamp架構-訪問控制-禁止php解析
有的網站論壇開啟了上傳圖片功能,導致******捆綁圖片上傳到服務器,通過訪問php來提升服務器后臺權限,
這里我們就需要將上傳圖片的目錄禁止訪問php文件,來達到防止******上傳上來通過訪問web來運行***的作用;
編輯虛擬配置文件
vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf增加代碼
<Directory /data/wwwroot/szl.com/upload>php_admin_flag engine off<FilesMatch (.*)\.php(.*)>Order allow,denyDeny from all</FilesMatch></Directory>配置生效
/usr/local/apache2.4/bin/apachectl -t /usr/local/apache2.4/bin/apachectl graceful測試:
訪問szl.com/upload/123.php,禁止訪問403
curl -x127.0.0.1:80 szl.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>訪問控制-user_agent
防止多肉雞洪水***,也就是超出服務器正常訪問的訪問,屏蔽掉一curl的訪問;
user_agent:使用curl訪問或使用瀏覽器訪問,會產生日志文件,名字就是curl或瀏覽器名稱;
編輯虛擬配置文件
vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf增加配置
<IfModule mod_rewrite.c> //應用rewrite模塊RewriteEngine on //啟用規則RewriteCond %{HTTP_USER_AGENT} .*curl.* [NC,OR] //定義規則1,NC不區分大小寫、or或、*curl.*訪問中有curl的禁止RewriteCond %{HTTP_USER_AGENT} .*baidu.com.* [NC] //定義規則2,不區分大小寫,訪問agent為baidu.com的RewriteRule .* - [F] </IfModule>檢查http.conf文件是否加載rewrite模塊
/usr/local/apache2.4/bin/apachectl -M |grep rewrite生效配置
/usr/local/apache2.4/bin/apachectl -t /usr/local/apache2.4/bin/apachectl graceful測試
使用curl訪問szl.com/admin.php,拒絕訪問,403
curl -x127.0.0.1:80 szl.com/admin.php
定義其他agent訪問,成功200
curl -A "szl szl" -x127.0.0.1:80 szl.com/admin.php -I
HTTP/1.1 200 OK Date: Wed, 07 Mar 2018 10:24:27 GMT Server: Apache/2.4.29 (Unix) PHP/5.6.30 X-Powered-By: PHP/5.6.30 Content-Type: text/html; charset=UTF-8轉載于:https://blog.51cto.com/shuzonglu/2083974
總結
以上是生活随笔為你收集整理的lamp架构-访问控制-禁止php解析、屏蔽curl命令访问的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: KAF-1300图像传感器入榜IEEE芯
- 下一篇: PHP中的Trait方法