日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

curl php 模拟来源_php 使用curl模拟ip和来源进行访问的实现方法

發(fā)布時間:2023/12/1 php 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 curl php 模拟来源_php 使用curl模拟ip和来源进行访问的实现方法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

對于限制了ip和來源的網(wǎng)站,使用正常的訪問方式是無法訪問的。本文將介紹一種方法,使用php的curl類實現(xiàn)模擬ip和來源,訪問那些限制了ip和來源的網(wǎng)站。

1.設置頁面限制ip和來源訪問

server.php

$client_ip = getip();

$referer = getreferer();

$allow_ip = '192.168.1.100';

$allow_referer = '//www.jb51.net';

if($client_ip==$allow_ip && strpos($referer, $allow_referer)===0){

echo 'allow access';

}else{

echo 'deny access';

}

// 獲取訪問者ip

function getip(){

if(!empty($_SERVER['HTTP_CLIENT_IP'])){

$cip = $_SERVER['HTTP_CLIENT_IP'];

}elseif(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){

$cip = $_SERVER['HTTP_X_FORWARDED_FOR'];

}elseif(!empty($_SERVER['REMOTE_ADDR'])){

$cip = $_SERVER['REMOTE_ADDR'];

}else{

$cip = '';

}

return $cip;

}

// 獲取訪問者來源

function getreferer(){

if(isset($_SERVER['HTTP_REFERER'])){

return $_SERVER['HTTP_REFERER'];

}

return '';

}

?>

2.使用curl正常訪問

function doCurl($url, $data=array(), $header=array(), $timeout=30){

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_HTTPHEADER, $header);

curl_setopt($ch, CURLOPT_POST, true);

curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);

$response = curl_exec($ch);

if($error=curl_error($ch)){

die($error);

}

curl_close($ch);

return $response;

}

// 調(diào)用

$url = 'http://www.example.com/server.php';

$response = doCurl($url);

echo $response;

?>

返回 deny access

3.使用curl模擬ip和來源進行訪問

模擬來源

curl_setopt($ch, CURLOPT_REFERER, '來源');

模擬ip

curl_setopt($ch, CURLOPT_HTTPHEADER, array('CLIENT-IP: 模擬ip','X-FORWARDED-FOR: 模擬ip'));

完整代碼如下:

function doCurl($url, $data=array(), $header=array(), $referer='', $timeout=30){

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_HTTPHEADER, $header);

curl_setopt($ch, CURLOPT_POST, true);

curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);

// 模擬來源

curl_setopt($ch, CURLOPT_REFERER, $referer);

$response = curl_exec($ch);

if($error=curl_error($ch)){

die($error);

}

curl_close($ch);

return $response;

}

// 調(diào)用

$url = 'http://www.example.com/server.php';

$data = array();

// 設置IP

$header = array(

'CLIENT-IP: 192.168.1.100',

'X-FORWARDED-FOR: 192.168.1.100'

);

// 設置來源

$referer = '//www.jb51.net/';

$response = doCurl($url, $data, $header, $referer, 5);

echo $response;

?>

返回 allow access

以上這篇php 使用curl模擬ip和來源進行訪問的實現(xiàn)方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持我們。

本文標題: php 使用curl模擬ip和來源進行訪問的實現(xiàn)方法

本文地址: http://www.cppcns.com/wangluo/php/189549.html

總結(jié)

以上是生活随笔為你收集整理的curl php 模拟来源_php 使用curl模拟ip和来源进行访问的实现方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。