백엔드 개발 PHP 튜토리얼 PHP는 임의의 IP 액세스를 설정

PHP는 임의의 IP 액세스를 설정

Oct 15, 2019 pm 02:29 PM
curl ip

PHP는 임의의 IP 액세스를 설정

사이트를 요청할 때 http 헤더는 일부 IP 정보를 전달합니다. 이 정보를 위조하면 다양한 IP 액세스 요청 효과를 만들 수 있습니다.

헤더 CLIENT-IPX-FORWARDED-FOR는 위조하려는 IP로 설정되며 서버는 우리가 지정한 IP를 가져옵니다.

추천 학습: PHP 비디오 튜토리얼

X-Forwarded-For는 확장 헤더입니다. HTTP/1.1(RFC 2616) 프로토콜은 이를 정의하지 않습니다. 이는 HTTP 요청자의 실제 IP를 나타내기 위해 캐싱 프록시 소프트웨어인 Squid에 의해 처음 도입되었으며 이제는 사실상의 표준이 되었으며 주요 HTTP에서 사용됩니다. 프록시, 로드 밸런싱 등의 전달 서비스가 널리 사용되며 RFC 7239(Forwarded HTTP Extension) 표준으로 작성됩니다.

일반적인 TCP/IP 2자 통신의 경우 소스 IP는 위조될 수 없습니다. 예를 들어 TCP에서는 /IP 프로토콜에서 데이터 패킷의 소스 IP를 위조할 수 있지만, 이렇게 하면 보낸 데이터 패킷이 결코 반환되지 않아 정상적인 통신이 불가능해집니다. 이는 마치 우리가 상대방에게 편지를 쓸 때 보내는 사람의 주소를 잘못 기재했는데, 받는 사람이 봉투에 적힌 보낸 사람의 주소대로 답장을 하면 원래 보낸 사람은 답장을 받을 수 없는 것과 같습니다.

SYN 플러드와 같은 일부 DDoS 공격은 TCP/ip의 이 결함을 활용하여 공격을 구현합니다.

PHP가 임의 액세스를 구성하는 방법은 다음과 같습니다.

<?php
function curl($url,$ifpost = 0, $datafields = &#39;&#39;, $cookiefile = &#39;&#39;, $v = false){
$ip_long = array(
            array(&#39;607649792&#39;, &#39;608174079&#39;), //36.56.0.0-36.63.255.255
            array(&#39;1038614528&#39;, &#39;1039007743&#39;), //61.232.0.0-61.237.255.255
            array(&#39;1783627776&#39;, &#39;1784676351&#39;), //106.80.0.0-106.95.255.255
            array(&#39;2035023872&#39;, &#39;2035154943&#39;), //121.76.0.0-121.77.255.255
            array(&#39;2078801920&#39;, &#39;2079064063&#39;), //123.232.0.0-123.235.255.255
            array(&#39;-1950089216&#39;, &#39;-1948778497&#39;), //139.196.0.0-139.215.255.255
            array(&#39;-1425539072&#39;, &#39;-1425014785&#39;), //171.8.0.0-171.15.255.255
            array(&#39;-1236271104&#39;, &#39;-1235419137&#39;), //182.80.0.0-182.92.255.255
            array(&#39;-770113536&#39;, &#39;-768606209&#39;), //210.25.0.0-210.47.255.255
            array(&#39;-569376768&#39;, &#39;-564133889&#39;), //222.16.0.0-222.95.255.255
    );
    $rand_key = mt_rand(0, 9);
    $ip= long2ip(mt_rand($ip_long[$rand_key][0], $ip_long[$rand_key][1]));
$header = array("Connection: Keep-Alive","Accept: text/html, application/xhtml+xml, */*", "Pragma: no-cache", "Accept-Language: zh-Hans-CN,zh-Hans;q=0.8,en-US;q=0.5,en;q=0.3","User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)",&#39;CLIENT-IP:&#39;.$ip,&#39;X-FORWARDED-FOR:&#39;.$ip); 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_HEADER, $v); 
curl_setopt($ch, CURLOPT_HTTPHEADER, $header); 
$ifpost && curl_setopt($ch, CURLOPT_POST, $ifpost); 
$ifpost && curl_setopt($ch, CURLOPT_POSTFIELDS, $datafields); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
$cookiefile && curl_setopt($ch, CURLOPT_COOKIEFILE, $cookiefile); 
$cookiefile && curl_setopt($ch, CURLOPT_COOKIEJAR, $cookiefile); 
curl_setopt($ch,CURLOPT_TIMEOUT,30); //允许执行的最长秒数
$ok = curl_exec($ch); 
curl_close($ch); 
unset($ch);
return $ok;
}
print_r(curl("URL"));
?>
로그인 후 복사

위 내용은 PHP는 임의의 IP 액세스를 설정의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
2 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
2 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
2 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

웹사이트는 어떻게 nginx를 통해 블랙/화이트리스트 IP 제한과 국가 및 도시 IP 액세스 제한을 설정합니까? 웹사이트는 어떻게 nginx를 통해 블랙/화이트리스트 IP 제한과 국가 및 도시 IP 액세스 제한을 설정합니까? Jun 01, 2023 pm 05:27 PM

1. 블랙/화이트 목록 IP 제한 액세스 구성 nginx 블랙 목록과 화이트 목록을 구성하는 방법에는 여러 가지가 있습니다. 다음은 일반적으로 사용되는 두 가지 방법입니다. 1. 첫 번째 방법: 허용, 거부 및 허용 명령은 ngx_http_access_module에 속합니다. nginx는 기본적으로 이 모듈을 로드하므로 직접 사용할 수 있습니다. 이 방법은 가장 간단하고 직접적입니다. 설정은 방화벽 iptable과 유사합니다. 사용 방법: 구성 파일에 직접 추가: #Whitelist 설정, 이어서 허용 가능 IPlocation/{allow123.13.123.12;allow23.53.32.1/100;denyall;}# 블랙리스트 설정,

Python에서 CURL과 Python 요청 간의 상호 변환을 실현하는 방법 Python에서 CURL과 Python 요청 간의 상호 변환을 실현하는 방법 May 03, 2023 pm 12:49 PM

컬과 Pythonrequests는 모두 HTTP 요청을 보내는 강력한 도구입니다. 컬은 터미널에서 직접 요청을 보낼 수 있는 명령줄 도구인 반면, Python의 요청 라이브러리는 Python 코드에서 요청을 보내는 보다 프로그래밍적인 방법을 제공합니다. 컬을 Pythonrequestscurl 명령으로 변환하는 기본 구문은 다음과 같습니다. 컬[OPTIONS]URL 컬 명령을 Python 요청으로 변환할 때 옵션과 URL을 Python 코드로 변환해야 합니다. 다음은 컬POST 명령의 예입니다: 컬-XPOST https://example.com/api

IP와 Mac을 바인딩한다는 것은 무엇을 의미합니까? IP와 Mac을 바인딩한다는 것은 무엇을 의미합니까? Mar 09, 2023 pm 04:44 PM

IP 및 MAC 바인딩은 특정 IP 주소를 특정 MAC 주소와 연결하여 해당 MAC 주소를 사용하는 장치만 네트워크 통신에 IP 주소를 사용할 수 있도록 하는 것을 의미합니다. ip와 mac을 바인딩하면 바인딩된 호스트의 IP 주소가 스푸핑되는 것을 방지할 수 있습니다. 전제 조건: 1. MAC 주소는 고유하며 스푸핑될 수 없습니다. 즉, 라우터에 직접 연결된 네트워크의 호스트에만 바인딩할 수 있습니다. 호스트의 게이트웨이는 라우터에 있습니다).

Linux에서 컬 버전을 업데이트하는 방법에 대한 튜토리얼입니다! Linux에서 컬 버전을 업데이트하는 방법에 대한 튜토리얼입니다! Mar 07, 2024 am 08:30 AM

Linux에서 컬 버전을 업데이트하려면 다음 단계를 따르세요. 현재 컬 버전을 확인하세요. 먼저 현재 시스템에 설치된 컬 버전을 확인해야 합니다. 터미널을 열고 다음 명령을 실행합니다. 컬 --version 이 명령은 현재 컬 버전 정보를 표시합니다. 사용 가능한 컬 버전 확인: 컬을 업데이트하기 전에 사용 가능한 최신 버전을 확인해야 합니다. 최신 버전의 컬을 찾으려면 컬의 공식 웹사이트(curl.haxx.se)나 관련 소프트웨어 소스를 방문하세요. 컬 소스 코드 다운로드: 컬 또는 브라우저를 사용하여 선택한 컬 버전의 소스 코드 파일(일반적으로 .tar.gz 또는 .tar.bz2)을 다운로드합니다.

PHP8.1 출시: 여러 요청을 동시에 처리하기 위한 컬(curl) 도입 PHP8.1 출시: 여러 요청을 동시에 처리하기 위한 컬(curl) 도입 Jul 08, 2023 pm 09:13 PM

PHP8.1 출시: 여러 요청의 동시 처리를 위한 컬 소개 최근 PHP는 여러 요청의 동시 처리를 위한 컬이라는 중요한 기능을 도입한 최신 버전의 PHP8.1을 공식 출시했습니다. 이 새로운 기능은 개발자에게 여러 HTTP 요청을 처리하는 보다 효율적이고 유연한 방법을 제공하여 성능과 사용자 경험을 크게 향상시킵니다. 이전 버전에서는 여러 요청을 처리하려면 여러 컬 리소스를 만들고 루프를 사용하여 각각 데이터를 보내고 받아야 하는 경우가 많았습니다. 이 방법으로 목적을 달성할 수는 있지만

WeChat에서 IP 주소를 확인하는 방법 WeChat에서 IP 주소를 확인하는 방법 May 31, 2023 am 09:16 AM

WeChat에서 IP 주소를 확인하는 방법: 1. 컴퓨터 버전의 WeChat에 로그인하고 화면 하단의 작업 표시줄을 마우스 오른쪽 버튼으로 클릭한 후 "작업 관리자"를 클릭합니다. 2. 작업 관리자가 나타나면 " 3. 작업 관리 브라우저의 "성능" 옵션을 입력하고 "리소스 모니터 열기"를 클릭합니다. 4. "네트워크"를 선택하고 "Wechat.exe" WeChat 프로세스를 확인합니다. 5. "를 클릭합니다. TCP 연결'을 통해 위챗 네트워크 IP 관련 상황을 모니터링할 수 있다. 메시지를 보내고 답장을 받으면 상대방의 IP 주소가 공개된다.

처음부터 끝까지: PHP 확장 cURL을 사용하여 HTTP 요청을 만드는 방법 처음부터 끝까지: PHP 확장 cURL을 사용하여 HTTP 요청을 만드는 방법 Jul 29, 2023 pm 05:07 PM

처음부터 끝까지: HTTP 요청에 PHP 확장 cURL을 사용하는 방법 소개: 웹 개발에서는 종종 타사 API 또는 기타 원격 서버와 통신해야 합니다. cURL을 사용하여 HTTP 요청을 하는 것은 일반적이고 강력한 방법입니다. 이 기사에서는 PHP를 사용하여 cURL을 확장하여 HTTP 요청을 수행하는 방법을 소개하고 몇 가지 실용적인 코드 예제를 제공합니다. 1. 준비 먼저 php에 cURL 확장이 설치되어 있는지 확인하세요. 명령줄에서 php-m|grepcurl을 실행하여 확인할 수 있습니다.

nginx에서 디렉토리 화이트리스트 및 IP 화이트리스트를 설정하는 방법 nginx에서 디렉토리 화이트리스트 및 IP 화이트리스트를 설정하는 방법 May 18, 2023 pm 03:52 PM

1. 디렉터리 화이트리스트 설정: 지정된 요청 경로에 제한이 없습니다. api 디렉터리에 대한 요청 경로에 제한이 없으면 server{location/app{proxy_passhttp://192.168.1.111로 작성할 수 있습니다. 8095/app ;limit_connconn20;limit_rate500k;limit_reqzone=fooburst=5nodelay;}location/app/api{proxy_passhttp://192.168.1.111:8095/app/api}}#왜냐하면 nginx는 정확한 매칭에 우선순위를 두기 때문입니다

See all articles