萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> php使用CURL偽造IP和來源實例詳解

php使用CURL偽造IP和來源實例詳解

這篇文章主要介紹了php使用CURL偽造IP和來源的方法,以實例形式詳細分析了CURL偽造IP和來源的原理與實現技巧,並補充說明了PHP中的CURL函數庫常用函數,需要的朋友可以參考下    

 

本文實例講述了php使用CURL偽造IP和來源的方法。分享給大家供大家參考。具體分析如下:

偽造IP來源對於php來說是很簡單的一件事情,我們只要利用了php的curl即可實現偽造IP來源的功能,IP地址你可以隨便寫.

index.php實例代碼如下:

代碼如下: $ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://localhost/curl.php");
curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-FORWARDED-FOR:8.8.8.8', 'CLIENT-IP:8.8.8.8'));//IP
curl_setopt($ch, CURLOPT_REFERER, "http://www.jb51.net/ "); //來路
curl_setopt($ch, CURLOPT_HEADER, 1);
$out = curl_exec($ch);
curl_close($ch);
curl.php代碼如下:
代碼如下: function getClientIp() {
if (!emptyempty($_SERVER["HTTP_CLIENT_IP"]))
$ip = $_SERVER["HTTP_CLIENT_IP"];
else if (!emptyempty($_SERVER["HTTP_X_FORWARDED_FOR"]))
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
else if (!emptyempty($_SERVER["REMOTE_ADDR"]))
$ip = $_SERVER["REMOTE_ADDR"];
else
$ip = "err";
return $ip;
}
echo "IP: " . getClientIp() . "";
echo "referer: " . $_SERVER["HTTP_REFERER"];
用index.php 請求 curl.php,輸出結果:

 

IP:8.8.8.8 referer:http://www.jb51.net

偽造成功,這是不是給采集的朋友提供了很好的換IP的方案,當然防被刷的朋友也要注意了.

補充:

PHP中的CURL函數庫(Client URL Library Function)如下:

curl_close — 關閉一個curl會話

curl_copy_handle — 拷貝一個curl連接資源的所有內容和參數

curl_errno — 返回一個包含當前會話錯誤信息的數字編號

curl_error — 返回一個包含當前會話錯誤信息的字符串

curl_exec — 執行一個curl會話

curl_getinfo — 獲取一個curl連接資源句柄的信息

curl_init — 初始化一個curl會話

curl_multi_add_handle — 向curl批處理會話中添加單獨的curl句柄資源

curl_multi_close — 關閉一個批處理句柄資源

curl_multi_exec — 解析一個curl批處理句柄

curl_multi_getcontent — 返回獲取的輸出的文本流

curl_multi_info_read — 獲取當前解析的curl的相關傳輸信息

curl_multi_init — 初始化一個curl批處理句柄資源

curl_multi_remove_handle — 移除curl批處理句柄資源中的某個句柄資源

curl_multi_select — Get all the sockets associated with the cURL extension, which can then be "selected"

curl_setopt_array — 以數組的形式為一個curl設置會話參數

curl_setopt — 為一個curl設置會話參數

curl_version — 獲取curl相關的版本信息

curl_init()函數的作用初始化一個curl會話,curl_init()函數唯一的一個參數是可選的,表示一個url地址.

curl_exec()函數的作用是執行一個curl會話,唯一的參數是curl_init()函數返回的句柄.

curl_close()函數的作用是關閉一個curl會話,唯一的參數是curl_init()函數返回的句柄.

希望本文所述對大家的php程序設計有所幫助。

 
copyright © 萬盛學電腦網 all rights reserved