1. 程式人生 > >PHP防止木馬攻擊

PHP防止木馬攻擊

1、防止跳出web目錄

PHP木馬攻擊的防禦首先修改httpd.conf,如果你只允許你的php指令碼程式在web目錄裡操作,還可以修改httpd.conf檔案限制php的操作路徑。比如你的web目錄是/usr/local/apache/htdocs,那麼在httpd.conf里加上這麼幾行:

php_admin_value open_basedir /usr/local/apache 
/htdocs

這樣,如果指令碼要讀取/usr/local/apache/htdocs以外的檔案將不會被允許,如果錯誤顯示開啟的話會提示這樣的錯誤:

Warning: open_basedir restriction in effect. File is in wrong directory in

/usr/local/apache/htdocs/open.php on line 4

等等。

2、防止PHP木馬攻擊執行webshell

開啟safe_mode,在,php.ini中設定

disable_functions= passthru,exec,shell_exec,system

二者選一即可,也可都選

3、防止PHP木馬攻擊讀寫檔案目錄

在php.ini中的disable_functions= passthru,exec,shell_exec,system後面加上php處理檔案的函式,主要有:

fopen,mkdir,rmdir,chmod,unlink,dir

fopen,fread,fclose,fwrite,file_exists

closedir,is_dir,readdir.opendir

fileperms.copy,unlink,delfile

即成為

disable_functions= passthru,exec,shell_exec,system,fopen,mkdir,rmdir,chmod,unlink,dir

,fopen,fread,fclose,fwrite,file_exists

,closedir,is_dir,readdir.opendir

,fileperms.copy,unlink,delfile

ok,大功告成,php木馬拿我們沒轍了,遺憾的是這樣的話,利用文字資料庫的那些東西就都不能用了。

如果是在windos平臺下搭建的apache我們還需要注意一點,apache預設執行是system許可權,這很恐怖,這讓人感覺很不爽.那我們就給apache降降許可權吧。

net user apache fuckmicrosoft /add

net localgroup users apache /del

ok.我們建立了一個不屬於任何組的使用者apche。

我們開啟計算機管理器,選服務,點apache服務的屬性,我們選擇log on,選擇this account,我們填入上面所建立的賬戶和密碼,重啟apache服務,ok,apache執行在低許可權下了。

實際上我們還可以通過設定各個資料夾的許可權,來讓apache使用者只能執行我們想讓它能幹的事情,給每一個目錄建立一個單獨能讀寫的使用者。這也是當前很多虛擬主機提供商的流行配置方法哦,不過這種PHP木馬攻擊的防禦方法用於防止這裡就顯的有點大材小用了。