《PHP實(shí)例:fsockopen pfsockopen函數(shù)被禁用,SMTP發(fā)送郵件不正常的解決方法》要點(diǎn):
本文介紹了PHP實(shí)例:fsockopen pfsockopen函數(shù)被禁用,SMTP發(fā)送郵件不正常的解決方法,希望對您有用。如果有疑問,可以聯(lián)系我們。
一:近期黑客利用程序漏洞注入后使用 fsockopen 進(jìn)行PHPDDOS 攻擊,導(dǎo)致部分服務(wù)器不穩(wěn)定,現(xiàn)在將危險(xiǎn)函數(shù) fsockopen 暫時(shí)禁用,部分程序功能可能有問題,以下列出已知問題及通用解決辦法:PHP教程
通用解決辦法:
找到程序里的 fsockopen 函數(shù),替換為:pfsockopen,即可解決所有問題,兩個(gè)函數(shù)的區(qū)別在于 pfsockopen 保持 keep-alive,使得黑客無法進(jìn)行 連接數(shù)攻擊.
已知使用 fsockopen 函數(shù)的程序文件路徑(在fsockopen 前加 p, 即fsockopen 修改為 pfsockopen 即可 )PHP教程
二:服務(wù)器同時(shí)禁用了fsockopen pfsockopen,那么用其他函數(shù)代替,如stream_socket_client().注意:stream_socket_client()和fsockopen()的參數(shù)分歧.
具體操作:
搜索程序中的字符串 fsockopen( 替換為 stream_socket_client( ,然后,將原fsockopen函數(shù)中的端口參數(shù)“80”刪掉,并加到$host.
示例如下PHP教程
改動前:PHP教程
$fp = fsockopen($host, 80, $errno, $errstr, 30);PHP教程
改動后:PHP教程
$fp = stream_socket_client($host."80", $errno, $errstr, 30);
海內(nèi)主流PHP網(wǎng)站涉及fsockopen函數(shù)的網(wǎng)站系統(tǒng)中的文件列表:
海內(nèi)主流PHP網(wǎng)站涉及fsockopen函數(shù)的網(wǎng)站系統(tǒng)中的文件列表:PHP教程
DEDECMS:
?
PHP教程
Discuz! 2.5:PHP教程
ecms(帝國):PHP教程
e\class\class.smtp.php
?
ECSHOP:PHP教程
維易PHP培訓(xùn)學(xué)院每天發(fā)布《PHP實(shí)例:fsockopen pfsockopen函數(shù)被禁用,SMTP發(fā)送郵件不正常的解決方法》等實(shí)戰(zhàn)技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養(yǎng)人才。
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/8731.html