天天看點

伺服器fsockopen函數和pfsockopen函數開啟及作用

摘要: fsockopen()函數的作用是可以用來打開一個socket連接配接,另一個函數pfsockopen()也有相似的功能,隻不過後者是一個“持續”(persistent)的fsockopen()函數,它在腳本運作完之後并不立即斷開。

一、

第一步 

找到php.ini檔案,用記事本打開,查找 allow_url_fopen = 看看後面是 off  還on, 如果是on,直接看下一步,如果是off 那就修改成on,需要注意完整的是allow_url_fopen = on等号的左右有空格。

allow_url_fopen = on

第二步

繼續在php.ini檔案中,查找,查找extension=php_openssl.dll  找到以後大家注意,extension=php_openssl.dll這段代碼前面會有個 ; 号,隻要把這個 ; 号删除,然後儲存。 

extension=php_openssl.dll

第三步

如果是IIS 就重新開機IIS

如果是apache 就重新開機apache

二、

fsockopen()函數以Socket模拟HTTP協定(POST) 

可以進行類似真實的http操作,可用于采集,群發論壇發帖等等。。。

fsockopen()函數的作用是可以用來打開一個socket連接配接,另一個函數pfsockopen()也有相似的功能,隻不過後者是一個“持續”(persistent)的fsockopen()函數,它在腳本運作完之後并不立即斷開。

fsockopen()函數存在着比較大的安全問題,比如曾經就被黑客用來進行PHPDDOS攻擊,是以很多主機提供商禁用了這個函數。

那麼如何知道自己的主機提供商有沒有禁用這個函數呢?

我們可以在任意一個網站目錄下建立一個.php檔案,在其中輸入如下代碼:

<?php

echo phpinfo();

?>

儲存之後再在浏覽器中通路該頁面,可看到頁面中呈現的是目前PHP的配置資訊,按Ctrl+F搜尋allow_url_fopen或disable_functions,可以看到如下圖所示:

伺服器fsockopen函數和pfsockopen函數開啟及作用

在allow_url_fopen那一欄中,如果值為On,并且disable_functions這個禁用函數清單中沒有fsockopen函數時,則表明fsockopen()函數是可以使用的,否則fsockopen()函數可能就被禁用了。

那如何才能啟用或禁用這個函數呢?

我們需要找到php.ini這個PHP配置檔案,如果需要禁用,則需在其中進行如下修改:

1.将allow_url_fopen=On修改成allow_url_fopen=Off

2.在disable_functions=後添加fsockopen

如果需要啟用,則隻需進行相反操作。

如何聯系我:【萬裡虎】www.bravetiger.cn

【QQ】3396726884 (咨詢問題100元起,幫助解決問題500元起)

【部落格】http://www.cnblogs.com/kenshinobiy/