溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何在PHP中禁用危險(xiǎn)函數(shù)

發(fā)布時(shí)間:2021-03-08 11:19:42 來(lái)源:億速云 閱讀:354 作者:Leah 欄目:開發(fā)技術(shù)

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)如何在PHP中禁用危險(xiǎn)函數(shù),文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

php有什么用

php是一個(gè)嵌套的縮寫名稱,是英文超級(jí)文本預(yù)處理語(yǔ)言,它的語(yǔ)法混合了C、Java、Perl以及php自創(chuàng)新的語(yǔ)法,主要用來(lái)做網(wǎng)站開發(fā),許多小型網(wǎng)站都用php開發(fā),因?yàn)閜hp是開源的,從而使得php經(jīng)久不衰。

error_log()

功能描述:將錯(cuò)誤信息發(fā)送到指定位置(文件)。 
安全備注:在某些版本的 PHP 中,可使用 error_log() 繞過(guò) PHP safe mode, 執(zhí)行任意命令。 
危險(xiǎn)等級(jí):低

phpinfo()

功能描述:輸出 PHP 環(huán)境信息以及相關(guān)的模塊、WEB 環(huán)境等信息。 
危險(xiǎn)等級(jí):中

scandir() 

功能描述:列出指定路徑中的文件和目錄。 
禁用建議:不建議禁用,因?yàn)閠hinkphp框架需要調(diào)用。
危險(xiǎn)等級(jí):中

syslog() 

功能描述:可調(diào)用 UNIX 系統(tǒng)的系統(tǒng)層 syslog() 函數(shù)。 
危險(xiǎn)等級(jí):中

readlink() 

功能描述:返回符號(hào)連接指向的目標(biāo)文件內(nèi)容。 
危險(xiǎn)等級(jí):中

stream_socket_server() 

功能描述:建立一個(gè) Internet 或 UNIX 服務(wù)器連接。 
禁用建議:不建議禁用,workerman框架需要使用。
危險(xiǎn)等級(jí):中

passthru()  

功能描述:允許執(zhí)行一個(gè)外部程序并回顯輸出,類似于 exec()。 
危險(xiǎn)等級(jí):高 

exec() 

功能描述:允許執(zhí)行一個(gè)外部程序(如 UNIX Shell 或 CMD 命令等)。 
危險(xiǎn)等級(jí):高

system() 

功能描述:允許執(zhí)行一個(gè)外部程序并回顯輸出,類似于 passthru()。 
危險(xiǎn)等級(jí):高

chroot() 

功能描述:可改變當(dāng)前 PHP 進(jìn)程的工作根目錄,僅當(dāng)系統(tǒng)支持 CLI 模式 PHP 時(shí)才能工作,且該函數(shù)不適用于 Windows 系統(tǒng)。 
危險(xiǎn)等級(jí):高

chgrp() 

功能描述:改變文件或目錄所屬的用戶組。 
危險(xiǎn)等級(jí):高

chown() 

功能描述:改變文件或目錄的所有者。 
危險(xiǎn)等級(jí):高

shell_exec() 

功能描述:通過(guò) Shell 執(zhí)行命令,并將執(zhí)行結(jié)果作為字符串返回。 
危險(xiǎn)等級(jí):高

proc_open() 

功能描述:執(zhí)行一個(gè)命令并打開文件指針用于讀取以及寫入。 
危險(xiǎn)等級(jí):高

proc_get_status() 

功能描述:獲取使用 proc_open() 所打開進(jìn)程的信息。 
危險(xiǎn)等級(jí):高

ini_set() 

功能描述:可用于修改、設(shè)置 PHP 環(huán)境配置參數(shù)。

禁用建議:不建議禁用,因?yàn)楹芏喑绦蛐枰褂?,比如:

<?php
ini_set("error_reporting","E_ALL & ~E_NOTICE");//設(shè)置 PHP的報(bào)錯(cuò)級(jí)別并返回當(dāng)前級(jí)別。
?>

危險(xiǎn)等級(jí):高

ini_alter() 

功能描述:是 ini_set() 函數(shù)的一個(gè)別名函數(shù),功能與 ini_set() 相同。
危險(xiǎn)等級(jí):高

ini_restore() 

功能描述:可用于恢復(fù) PHP 環(huán)境配置參數(shù)到其初始值。 
危險(xiǎn)等級(jí):高

dl() 

功能描述:在 PHP 進(jìn)行運(yùn)行過(guò)程當(dāng)中(而非啟動(dòng)時(shí))加載一個(gè) PHP 外部模塊。 
危險(xiǎn)等級(jí):高

pfsockopen() 

功能描述:建立一個(gè) Internet 或 UNIX 域的 socket 持久連接。 
危險(xiǎn)等級(jí):高

symlink() 

功能描述:在 UNIX 系統(tǒng)中建立一個(gè)符號(hào)鏈接。 
危險(xiǎn)等級(jí):高

popen() 

功能描述:可通過(guò) popen() 的參數(shù)傳遞一條命令,并對(duì) popen() 所打開的文件進(jìn)行執(zhí)行。 
危險(xiǎn)等級(jí):高

putenv() 

功能描述:用于在 PHP 運(yùn)行時(shí)改變系統(tǒng)字符集環(huán)境。在低于 5.2.6 版本的 PHP 中,可利用該函數(shù) 修改系統(tǒng)字符集環(huán)境后,利用 sendmail 指令發(fā)送特殊參數(shù)執(zhí)行系統(tǒng) SHELL 命令。 
危險(xiǎn)等級(jí):高

fsockopen()

功能描述:一個(gè)可以實(shí)現(xiàn)遠(yuǎn)程登錄訪問(wèn)的函數(shù),也容易被黑客利用進(jìn)行PHPDDOS攻擊。phpddos原理是向外發(fā)upd包,curl當(dāng)然也可以,但默認(rèn)情況下fsockopen可用,curl不默認(rèn)加載。
危險(xiǎn)等級(jí):高

禁用方法:

打開php.ini文件, 查找到disable_functions,在等于號(hào)(=)后面添加需禁用的函數(shù)名,如下:

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中禁用危險(xiǎn)函數(shù)了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI