1. 程式人生 > >11.28-11.31禁止解析php,user_agent,PHP配置

11.28-11.31禁止解析php,user_agent,PHP配置

PHP配置 禁止解析PHP user agent

11.28 限定某個目錄禁止解析php

由於網站是可以直接執行php程序的,而因為直接執行php程序這個方便快捷的功能,很多別有用心的人會利用這個功能去做一些惡意的行為,

從而這會導致變成一個漏洞,使其網站奔潰,所以我們搭建網站的時候,有必要把某目錄php解析功能給關閉掉。

核心配置文件內容

<Directory /data/wwwroot/www.123.com/upload>

php_admin_flag engine off

</Directory>

技術分享圖片

檢查狀態並重新加載。

[root@AliKvn ~]# /usr/local/apache2.4/bin/apachectl -t

Syntax OK

[root@AliKvn ~]# /usr/local/apache2.4/bin/apachectl graceful


curl測試時直接返回了php源代碼,並未解析

[root@AliKvn 111.com]# curl -x127.0.0.1:80 111.com/upload/123.php

<?php

echo "filesmatch";

?>


11.29訪問控制 – user_agent

user_agent可以理解為瀏覽器標識

核心配置文件內容

<IfModule mod_rewrite.c>

RewriteEngine on

RewriteCond %{HTTP_USER_AGENT} .*curl.* [NC,OR]

RewriteCond %{HTTP_USER_AGENT} .*baidu.com.* [NC]

RewriteRule .* - [F]

</IfModule>

curl -A "123123" 指定user_agent


11.30 11.31 PHP相關配置


查看php配置文件位置

/usr/local/php/bin/php -i|grep -i "loaded configuration file"

date.timezone

disable_functions

eval,assert,popen,passthru,escapeshellarg,escapeshellcmd,passthru,exec,system,chroot,scandir,chgrp,chown,escapeshellcmd,escapeshellarg,shell_exec,proc_get_status,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,leak,popepassthru,stream_socket_server,popen,proc_open,proc_close

error_log, log_errors, display_errors, error_reporting

open_basedir

php_admin_value open_basedir "/data/wwwroot/111.com:/tmp/"


11.28-11.31禁止解析php,user_agent,PHP配置