1. 程式人生 > >4.18 php相關配置,限制user_agent,禁止php解析

4.18 php相關配置,限制user_agent,禁止php解析

禁止解析php 限制user_agent php相關配置

禁止php解析
對於使用php語言編寫的網站,有一些目錄是需要上傳文件的,如果網站有漏洞,讓黑客上傳了一個用php代寫的木馬,由於網站可以執行php程序,最終會讓黑客拿到服務器權限,為了避免這種情況發生,我們需要把能上傳文件的目錄直接禁止解析php代碼。

<Directory /data/wwwroot/111.com/upload>
php_admin_flag engine off
<FileMatch (.).php(.)>
Order allow,deny
Deny from all
</FileMatch>
</Directory>
這樣做可以雙保險,既不能解析php,又不能訪問。

單純禁止解析php
curl -x192.168.1.107:80 111.com/upload/123.php
<?php
echo "123.php";(這個結果就是禁止解析php的結果,直接顯示了源代碼)

限制user_agent

有時候我們網站會受到cc攻擊,它的原理很簡單,就是用很多用戶的電腦同時訪問同一個站點,當訪問量達到了一定的層次,站點就會耗盡服務器的資源,從而使之不能正常的提供服務。這種cc攻擊的規律很明顯,其中惡意請求的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>
其中OR表示或者,NC 表示忽略大小寫。
RewriteRule .
- [F] 這句表示重寫規則被禁止, 其中F表示Forbidden(禁止)

php相關配置

查看php配置文件的位置
/usr/local/php/bin/php -i|grep -i "loaded configuration file"

定義時區
date.timezone 我們可以寫Asia/shanghai或者chongqing
安全函數
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

4.18 php相關配置,限制user_agent,禁止php解析