有時候為了安全我們需要禁掉一些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 | #建立軟連結 | 影響不大 | |
#中 |
####建立一個Internet 或UNIX 伺服器連線######停用可能會影響RPC、Socket 通訊等######高##################註:以上結果,並不是最終結果。最終需要結合業務,分析其對業務的影響範圍。禁用的方法如下。 ######開啟php.ini,搜尋disable_functions,追加即可。 #########可透過popen () 的參數傳遞一條指令,並對popen () 所開啟的檔案進行執行
停用影響不大
高
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教學###》###
以上是PHP中的危險函數你知道嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!