이 글은 주로 PHP에서 컬을 사용하여 IP 및 소스 액세스를 시뮬레이션하는 방법을 소개합니다. 관심 있는 친구들이 참고하면 도움이 될 것입니다.
IP 주소와 소스가 제한된 웹사이트는 일반적인 접속 방법으로는 접속이 불가능합니다. 이 기사에서는 PHP의 컬 클래스를 사용하여 IP 및 소스를 시뮬레이션하고 제한된 IP 및 소스를 사용하여 웹 사이트에 액세스하는 방법을 소개합니다.
1. 페이지 제한 IP 및 소스 액세스 설정
server.php
<?php $client_ip = getip(); $referer = getreferer(); $allow_ip = '192.168.1.100'; $allow_referer = 'http://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. <?php
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;
}
// 调用
$url = 'http://www.example.com/server.php';
$response = doCurl($url);
echo $response;
?>
액세스 거부
3. 컬을 사용하여 액세스용 IP 및 소스 시뮬레이션
소스 시뮬레이션
curl_setopt($ch, CURLOPT_REFERER, 'source');
ip 시뮬레이션
curl_setopt ($ch, CURLOPT_HTTPHEADER, array('CLIENT-IP: 시뮬레이션된 IP','X-FORWARDED-FOR: 시뮬레이션된 IP'));
전체 코드는 다음과 같습니다.
Return 위 내용은 이 글의 전체 내용이므로, 모든 분들의 공부에 도움이 되었으면 좋겠습니다. ㅋㅋㅋ php로 이미지 업로드 구현, Cut function_php 스킬 위 내용은 PHP는 컬을 사용하여 IP 및 액세스 소스를 시뮬레이션하는 방법을 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!<?php
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;
}
// 调用
$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 = 'http://www.jb51.net/';
$response = doCurl($url, $data, $header, $referer, 5);
echo $response;
?>