PHP中的危險函數你知道嗎?

2020-07-16 10:05:50

有時候為了安全我們需要禁掉一些PHP危險函數,本文整理了一些PHP中的危險函數,以供大家參考。

函數作用建議級別
phpinfo輸出 PHP 環境資訊以及相關的模組、WEB 環境等資訊。禁用影響不大
passthru允許執行一個外部程式並回顯輸出禁用影響不大
exec允許執行一個外部程式(如 UNIX Shell 或 CMD 命令等)禁用影響不大
system允許執行一個外部程式並回顯輸出禁用影響不大
chroot可改變當前 PHP 進程的工作根目錄,僅當系統支援 CLI 模式禁用影響不大
scandir列出指定路徑中的檔案和目錄。有可能受影響
chgrp改變檔案或目錄所屬的使用者組。禁用影響不大
chown改變檔案或目錄的所有者禁用影響不大
shell_exec通過 Shell 執行命令,並將執行結果作為字串返回。禁用影響不大
proc_open執行一個命令並開啟檔案指標用於讀取以及寫入。禁用有可能沒法執行定時任務
proc_get_status獲取使用 proc_open () 所開啟進程的資訊。禁用有可能沒法執行定時任務
ini_alter、ini_set可用於修改、設定 PHP 環境設定引數。禁用影響不大
ini_restore可用於恢復 PHP 環境設定引數到其初始值。禁用影響不大
dl在 PHP 進行執行過程當中(而非啟動時)載入一個 PHP 外部模組禁用影響不大
pfsockopen建立一個 Internet 或 UNIX 域的 socket 持久連線禁用可能會影響 RPC、Socket 通訊等
syslog可呼叫 UNIX 系統的系統層 syslog () 函數禁用影響不大
readlink返回符號連線指向的目標檔案內容禁用影響不大
symlink建立軟連結禁用影響不大
popen可通過 popen () 的引數傳遞一條命令,並對 popen () 所開啟的檔案進行執行禁用影響不大
stream_socket_server建立一個 Internet 或 UNIX 伺服器連線禁用可能會影響 RPC、Socket 通訊等

註:以上結果,並不是最終結果。最終需要結合業務,分析其對業務的影響範圍。禁用的方法如下。

開啟php.ini,搜尋disable_functions,追加即可。

disable_functions = 
passthru,exec,system,chroot,chgrp,chown,proc_open,proc_get_status,popen,ini_alter,ini_restore,dl,openlog,
syslog,readlink,popepassthru,stream_socket_server
以上就是PHP中的危險函數你知道嗎?的詳細內容,更多請關注TW511.COM其它相關文章!