PHP危險函式禁用深入詳解

2022-09-25 22:48:15 字數 2614 閱讀 4859

error_log()

功能描述:將錯誤資訊傳送到指定位置(檔案)。 

安全備註:在某些版本的 php 中,可使用 error_log() 繞過 php safe mode, 執行任意命令。 

危險等級:低

phpinfo()

功能描述:輸出 php 環境資訊以及相關的模組、web 環境等資訊。 

危險等級:中

scandir()

功能描述:列出指定路徑中的檔案和目錄。 

禁用建議:不建議禁用,因為thinkphp框架需要呼叫。

危險等級:中

syslog()

功能描述:可呼叫 unix 系統的系統層 syslog() 函式。 

危險等級:中

readlink()

功能描述:返回符號連線指向的目標檔案內容。 

危險等級:中

stream_socket_server()

功能描述:建立乙個 internet 或 unix 伺服器連線。 

禁用建議:不建議禁用,workerman框架需要使用。

危險等級:中

passthru()

功能描述:允許執行乙個外部程式並回顯輸出,類似於 exec()。 

危險等級:高 

exec()

功能描述:允許執行乙個外部程式(如 unix shell 或 cmd 命令等)。 

危險等級:高

system()

功能描述:允許執行乙個外部程式並回顯輸出,類似於 passthru()。 

危險等級:高

chroot()

功能描述:可改變當前 php 程序的工作根目錄,僅當系統支援 cli 模式 php 時才能工作,且該函式不適用於 windows 系統。 

危險等級:高

chgrp()

功能描述:改變檔案或目錄所屬的使用者組。 

危險等級:高

chown()

功能描述:改變檔案或目錄的所有者。 

危險等級:高

shell_exec()

功能描述:通過 shell 執行命令,並將執行結果作為字串返回。 

危險等級:高

proc_open()

功能描述:執行乙個命令並開啟檔案指標用於讀取以及寫入。 

危險等級:高

pr程式設計客棧oc_get_status()

功能描述:獲取使用 proc_open() 所開啟程序的資訊。 

危險等級:高

ini_set()

功能ctzsyz描述:可用於修改、設定 php 環境配置引數。

禁用建議:不建議禁用,因為很多程式需要使用 ,比如:

<?php ini_set("error_reporting","e_all & ~e_notice");//設定 php的報錯級別並返回當前級別。

?>

危險等級:高

ini_alter()

功能描述:是 ini_set() 函式的乙個別名函式,功能與 ini_set() 相同。

危險等級:高

ini_restore()

功能描述:可用於恢復 php 環境配置引數到其初始值。 

危險等級:高

dl()

功能描述:在 php 進行執行過程當中(而非啟動時)載入乙個 php 外部模組。 

危險等級:高

pfsockopen()

功能描述:建立乙個 internet 或 unix 域的 socket 持久連線。 

危險等級:高

symlink()

功能描述:在 unix 系統中建立乙個符號鏈結。 

危險等級:高

popen()

功能描述:可通過 popen() 的引數傳遞一條命令,並對 popen() 所開啟的檔案進行執行。 

危險等級:高

putenv()

功能描述:用於在 php 執行時改變系統字符集環境。在低於 5.2.6 版本的 php 中,可利用該函式 修改系統字符集環境後,利用 sendmail 指令傳送特殊引數執行系統 shell 命令。 

危險等級:高

fsockopen()

功能描述:乙個可以實現遠端登入訪問的函式,也容易被黑客利用進行phpddos攻擊。phpddos原理是向外發upd包,curl當然也可以,但預設情況下fsockopen可用,curl不預設載入。

危險等級:高

禁用方法:

開啟php.ini檔案, 查詢到disable_functions,在等於號(=)後面新增需禁用的函式名,如下:

syslog,readlink,passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_restore,dl,pfsockopen,symlink,popen,putenv,fsocket,fsockopen

disable_functions =syslog,readlink,passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,程式設計客棧proc_get_status,ini_alter,ini_restore,dl,pfsockopen,symlink,popen,putenv,fsocket,fsockopen

php安全設定 禁用危險函式

在 php.ini 中找到 disable functions 這一行,在其後面新增需要禁止的危險函式名,以英文逗號分隔 disable functions phpinfo,set time limit,system,exec,shell exec,passthru,proc open,proc c...

php禁用一些危險函式

開啟php.ini檔案,查詢到 disable functions 修改為 disable functions pathinfo,eval,passthru,exec,assert,system,chroot,chgrp,chown,shell exec,proc open,ini restore,...

一些需要禁用的PHP危險函式

passthru 功能描述 允許執行乙個外部程式並回顯輸出,類似於 exec 危險等級 高 exec 功能描述 允許執行乙個外部程式 如 unix shell 或 cmd 命令等 危險等級 高 system 功能描述 允許執行乙個外部程式並回顯輸出,類似於 passthru 危險等級 高 chroo...