偽造IP來源這個東西在對很多朋友都有用,有的朋友喜歡利用php curl來偽造IP來源,讓自己覺得很多IP了,下面我們以偽造IP來源實例來介紹php中curl的用法.
curl默認是未被啟用的,啟用方法.
啟用 cURL 設置:如果你是在Windows平臺下,那么非常簡單,你需要改一改你的php.ini文件的設置,找到php_curl.dll,并取消前面的分號注釋就行了,如下所示:
extension=php_curl.dll
如果你是在Linux下面,那么,你需要重新編譯你的PHP了,編輯時,你需要打開編譯參數——在configure命令上加上“–with-curl” 參數.
簡單測試實例,代碼如下:
- <?php
- // 初始化一個 cURL 對象
- $curl = curl_init();
- // 設置你需要抓取的URL
- curl_setopt($curl, CURLOPT_URL, 'http://coolshell.cn');
- // 設置header
- curl_setopt($curl, CURLOPT_HEADER, 1);
- // 設置cURL 參數,要求結果保存到字符串中還是輸出到屏幕上。
- curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
- // 運行cURL,請求網頁
- $data = curl_exec($curl);
- // 關閉URL請求
- curl_close($curl);
- // 顯示獲得的數據
- var_dump($data);
- ?>
模仿post數據,代碼如下:
- <?php
- $phoneNumber = '13912345678';
- $message = 'This message was generated by curl and php';
- $curlPost = 'pNUMBER=' . urlencode($phoneNumber) . '&MESSAGE=' . urlencode($message) . '&SUBMIT=Send';
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_URL, 'http://www.example.com/sendSMS.php');
- curl_setopt($ch, CURLOPT_HEADER, 1);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
- curl_setopt($ch, CURLOPT_POST, 1);
- curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);
- $data = curl_exec();
- curl_close($ch);
- ?>
現在進入正題,CURL偽造IP和來源.
1.php實例代碼如下:
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_URL, "http://localhost/2.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.49028c.com/ "); //來路
- curl_setopt($ch, CURLOPT_HEADER, 1);
- $out = curl_exec($ch);
- curl_close($ch);
2.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"];
用1.php 請求 2.php,輸出結果.
關于SSL也就是HTTPS協議,你只需要把CURLOPT_URL連接中的http://變成https://就可以了,當然,還有一個參數叫CURLOPT_SSL_VERIFYHOST可以設置為驗證站點.
關于Cookie,你需要了解下面三個參數:
CURLOPT_COOKIE,在當面的會話中設置一個cookie
CURLOPT_COOKIEJAR,當會話結束的時候保存一個Cookie
CURLOPT_COOKIEFILE,Cookie的文件
新聞熱點
疑難解答