php.ini中最好禁止的一些函數(diables
來源:互聯網
上載者:User
PHP有好多的函數,有些函數很不安全,所以我們有必要禁掉。那麼哪些函數很危險呢。phpinfo() 功能描述:輸出 PHP 環境資訊以及相關的模組、WEB 環境等資訊。 危險等級:中 passthru() 功能描述:允許執行一個外部程式並回顯輸出,類似於 exec()。 危險等級:高 exec() 功能描述:允許執行一個外部程式(如 UNIX Shell 或 CMD 命令等)。 危險等級:高 system() 功能描述:允許執行一個外部程式並回顯輸出,類似於 passthru()。 危險等級:高 chroot() 功能描述:可改變當前 PHP 進程的工作根目錄,僅當系統支援 CLI 模式 PHP 時才能工作,且該函數不適用於 Windows 系統。 危險等級:高 scandir() 功能描述:列出指定路徑中的檔案和目錄。 危險等級:中 chgrp() 功能描述:改變檔案或目錄所屬的使用者組。 危險等級:高 chown() 功能描述:改變檔案或目錄的所有者。 危險等級:高 shell_exec() 功能描述:通過 Shell 執行命令,並將執行結果作為字串返回。 危險等級:高 proc_open() 功能描述:執行一個命令並開啟檔案指標用於讀取以及寫入。 危險等級:高 proc_get_status() 功能描述:擷取使用 proc_open() 所開啟進程的資訊。 危險等級:高 error_log() 功能描述:將錯誤資訊發送到指定位置(檔案)。 安全備忘:在某些版本的 PHP 中,可使用 error_log() 繞過 PHP safe mode, 執行任意命令。 危險等級:低 ini_alter() 功能描述:是 ini_set() 函數的一個別名函數,功能與 ini_set() 相同。 具體參見 ini_set()。 危險等級:高 ini_set() 功能描述:可用於修改、設定 PHP 環境配置參數。 危險等級:高 ini_restore() 功能描述:可用於恢複 PHP 環境配置參數到其初始值。 危險等級:高 dl() 功能描述:在 PHP 進行運行過程當中(而非啟動時)載入一個 PHP 外部模組。 危險等級:高 pfsockopen() 功能描述:建立一個 Internet 或 UNIX 域的 socket 持久串連。 危險等級:高 syslog() 功能描述:可調用 UNIX 系統的系統層 syslog() 函數。 危險等級:中 readlink() 功能描述:返回符號串連指向的目標檔案內容。 危險等級:中 symlink() 功能描述:在 UNIX 系統中建立一個符號連結。 危險等級:高 popen() 功能描述:可通過 popen() 的參數傳遞一條命令,並對 popen() 所開啟的檔案進行執行。 危險等級:高 stream_socket_server() 功能描述:建立一個 Internet 或 UNIX 伺服器串連。 危險等級:中 putenv() 功能描述:用於在 PHP 運行時改變系統字元集環境。在低於 5.2.6 版本的 PHP 中,可利用該函數 修改系統字元集環境後,利用 sendmail 指令發送特殊參數執行系統 SHELL 命令。 危險等級:高 在vim /usr/local/php/etc/php.inidisable_function=phpinfo,eval,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,fsocket,fsockopen