摘要: 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,可以看到如下圖所示:
在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/