> 백엔드 개발 > PHP 튜토리얼 > PHP는 컬을 사용하여 IP 및 액세스 소스를 시뮬레이션하는 방법을 구현합니다.

PHP는 컬을 사용하여 IP 및 액세스 소스를 시뮬레이션하는 방법을 구현합니다.

墨辰丷
풀어 주다: 2023-03-27 15:58:01
원래의
4218명이 탐색했습니다.

이 글은 주로 PHP에서 컬을 사용하여 IP 및 소스 액세스를 시뮬레이션하는 방법을 소개합니다. 관심 있는 친구들이 참고하면 도움이 될 것입니다.

IP 주소와 소스가 제한된 웹사이트는 일반적인 접속 방법으로는 접속이 불가능합니다. 이 기사에서는 PHP의 컬 클래스를 사용하여 IP 및 소스를 시뮬레이션하고 제한된 IP 및 소스를 사용하여 웹 사이트에 액세스하는 방법을 소개합니다.

1. 페이지 제한 IP 및 소스 액세스 설정

server.php

<?php

$client_ip = getip();
$referer = getreferer();

$allow_ip = &#39;192.168.1.100&#39;;
$allow_referer = &#39;http://www.jb51.net&#39;;

if($client_ip==$allow_ip && strpos($referer, $allow_referer)===0){
  echo &#39;allow access&#39;;
}else{
  echo &#39;deny access&#39;;
}


// 获取访问者ip
function getip(){
  if(!empty($_SERVER[&#39;HTTP_CLIENT_IP&#39;])){
    $cip = $_SERVER[&#39;HTTP_CLIENT_IP&#39;];
  }elseif(!empty($_SERVER[&#39;HTTP_X_FORWARDED_FOR&#39;])){
    $cip = $_SERVER[&#39;HTTP_X_FORWARDED_FOR&#39;];
  }elseif(!empty($_SERVER[&#39;REMOTE_ADDR&#39;])){
    $cip = $_SERVER[&#39;REMOTE_ADDR&#39;];
  }else{
    $cip = &#39;&#39;;
  }
  return $cip;
}

// 获取访问者来源
function getreferer(){
  if(isset($_SERVER[&#39;HTTP_REFERER&#39;])){
    return $_SERVER[&#39;HTTP_REFERER&#39;];
  }
  return &#39;&#39;;
}

?>
로그인 후 복사

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 = &#39;http://www.example.com/server.php&#39;;
$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'));

전체 코드는 다음과 같습니다.

<?php
function doCurl($url, $data=array(), $header=array(), $referer=&#39;&#39;, $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 = &#39;http://www.example.com/server.php&#39;;
$data = array();

// 设置IP
$header = array(
  &#39;CLIENT-IP: 192.168.1.100&#39;,
  &#39;X-FORWARDED-FOR: 192.168.1.100&#39;
);

// 设置来源
$referer = &#39;http://www.jb51.net/&#39;;

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

echo $response;
?>
로그인 후 복사

Return

접근 허용

위 내용은 이 글의 전체 내용이므로, 모든 분들의 공부에 도움이 되었으면 좋겠습니다. ㅋㅋㅋ php로 이미지 업로드 구현, Cut function_php 스킬


위 내용은 PHP는 컬을 사용하여 IP 및 액세스 소스를 시뮬레이션하는 방법을 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿