本篇文章給大家聊聊PHP安全,介紹一些危險的內(nèi)置函數(shù),以及禁用函數(shù)的方法。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有所幫助。
PHP配置文件中的disable_functions選項能夠在PHP中禁用函數(shù),PHP內(nèi)置函數(shù)中存在很多危險性極高的函數(shù),在生成環(huán)境上一定要注意使用。如果設(shè)置不當(dāng),嚴(yán)重可能造成系統(tǒng)崩潰。
內(nèi)置函數(shù)是一把雙刃劍,既能幫助開發(fā)人員解決問題,同時也會給安全上造成隱患,所以合理的使用內(nèi)置函數(shù)是一個置關(guān)重要的問題,下面一起來看一下危險的內(nèi)置函數(shù)。
chgrp
函數(shù)功能:改變文件或目錄所屬的用戶組;
危害性:高
chown
函數(shù)功能:改變文件或目錄的所有者;
危害性:高
chroot
函數(shù)功能:改變當(dāng)前PHP進(jìn)程的工作根目錄,僅當(dāng)系統(tǒng)支持CLI模式時PHP才能工作,且該函數(shù)不適用于Windows系統(tǒng);
危害性:高
dl
函數(shù)功能:在PHP運行過程中(非啟動時)加載一個PHP外部模塊;
危害性:高
exec
函數(shù)功能:允許執(zhí)行一個外部程序,如unix shell或cmd命令等;
危害性:高
ini_alter
函數(shù)功能:是ini_set()函數(shù)的一個別名函數(shù),功能與ini_set()相同;
危害性:高
ini_restore
函數(shù)功能:可用于將PHP環(huán)境配置函數(shù)恢復(fù)為初始值;
危害性:高
ini_set
函數(shù)功能:可用于修改、設(shè)置PHP環(huán)境配置參數(shù);
危害性:高
passthru
函數(shù)功能:允許執(zhí)行一個外部程序并顯示輸出,類似于exec();
危害性:高
pfsockopen
函數(shù)功能:建立一個Internet或unix域的socket持久連接;
危害性:高
phpinfo
函數(shù)功能:輸出PHP環(huán)境信息以及相關(guān)模塊、Web環(huán)境信息;
危害性:高
popen
函數(shù)功能:可通過popen()的參數(shù)傳遞一條命令,并對popen()所打開的文件進(jìn)行執(zhí)行。
危害性:高
proc_get_status
函數(shù)功能:獲取使用proc_open()所打開進(jìn)程信息;
危害性:高
proc_open
執(zhí)行一個命令并打開文件指針用于讀取以及寫入;
危害性:高
putenv
用戶PHP運行時改變系統(tǒng)字符集環(huán)境,在低于5.2.6版本的PHP中,可利用該函數(shù)修改系統(tǒng)字符集環(huán)境后,利用sendmail指令發(fā)送特殊參數(shù)執(zhí)行系統(tǒng)shell命令;
危害性:高
readlink
函數(shù)功能:返回符號連接執(zhí)行的目標(biāo)文件內(nèi)容;
危害性:中
scandir
函數(shù)功能:列出指定路徑中的文件和目錄;
危害性:中
shell_exec
函數(shù)功能:通過shell執(zhí)行命令,并將執(zhí)行結(jié)果作為字符串返回;
危害性:高
stream_socket_server
函數(shù)功能:建立一個Internet或unix服務(wù)器連接;
危害性:中
symlink
函數(shù)功能:對已有的target建立一個名為link的符號連接;
危害性:高
syslog
函數(shù)功能:可調(diào)用unix系統(tǒng)的系統(tǒng)層syslog()函數(shù);
危害性:中
system
函數(shù)功能:允許執(zhí)行一個外部程序并回顯輸出,類似于passthru();
危害性:高
推薦學(xué)習(xí):《PHP視頻教程》