目次
phpでのHTTP_X_FORWARDED_FORとREMOTE_ADDRの使用、phpremoteaddrでのHTTP_X_FORWARDED_FORとREMOTE_ADDRの使用
ホームページ バックエンド開発 PHPチュートリアル PHP での HTTP_X_FORWARDED_FOR と REMOTE_ADDR の使用、phpremoteaddr_PHP チュートリアル

PHP での HTTP_X_FORWARDED_FOR と REMOTE_ADDR の使用、phpremoteaddr_PHP チュートリアル

Jul 12, 2016 am 08:51 AM
for http php remote 使用 そして

phpでのHTTP_X_FORWARDED_FORとREMOTE_ADDRの使用、phpremoteaddrでのHTTP_X_FORWARDED_FORとREMOTE_ADDRの使用

php

1.REMOTE_ADDR: 現在のページを閲覧しているユーザーのコンピューターの IP アドレス
2.HTTP_X_FORWARDED_FOR: 現在のページを閲覧しているユーザーのコンピューターのゲートウェイ
3.HTTP_CLIENT_IP: クライアントの IP

PHP で $_SERVER["REMOTE_ADDR"] を使用してクライアントの IP アドレスを取得しますが、クライアントがプロキシ サーバーを使用してアクセスする場合、取得されるのはプロキシ サーバーの IP アドレスであり、実際のクライアントの IP アドレスではありません。プロキシ サーバー経由でクライアントの実際の IP アドレスを取得するには、$_SERVER["HTTP_X_FORWARDED_FOR"] を使用して読み取ります。

ただし、すべてのプロキシ サーバーが $_SERVER["HTTP_X_FORWARDED_FOR"] を使用してクライアントの実際の IP を読み取ることができるわけではないことに注意してください。このメソッドで読み取られる IP の一部は、依然としてプロキシ サーバーの IP です。

もう 1 つの注意点は、クライアントがプロキシ サーバー経由でアクセスしない場合、$_SERVER["HTTP_X_FORWARDED_FOR"] で取得される値は空になることです。

if ($_SERVER['HTTP_X_FORWARDED_FOR'] && preg_match('/^([0-9]{1,3}.){3}[0-9]{1,3}$/',$_SERVER[' HTTP_X_FORWARDED_FOR'])) {
$onlineip = $_SERVER['HTTP_X_FORWARDED_FOR']
} elseif ($_SERVER['HTTP_CLIENT_IP'] && preg_match('/^([0-9]{1,3}.){3 }[0-9]{1,3}$/',$_SERVER['HTTP_CLIENT_IP'])) {
$onlineip = $_SERVER['HTTP_CLIENT_IP']
}

;

ユーザーの IP アドレスの 3 つの属性 (HTTP_X_FORWARDED_FOR、HTTP_VIA、REMOTE_ADDR) の違いを取得します。

1. プロキシサーバーを使用しない場合:

REMOTE_ADDR = あなたのIP
HTTP_VIA = 値がないか、表示されません
HTTP_X_FORWARDED_FOR = 値がないか、表示されません

2. 透過的プロキシサーバーの使用: 透過的プロキシ

REMOTE_ADDR = 最後のプロキシ サーバーの IP
HTTP_VIA = プロキシ サーバーの IP
HTTP_X_FORWARDED_FOR = 複数のプロキシ サーバーを経由する場合、この値は次のようになります: 203.98.182.163、203.98.182.163、203.129.72.215。

このタイプのプロキシ サーバーは依然としてあなたの情報を訪問者に転送するため、あなたの本当の身元を隠すという目的を達成することはできません。

3. 通常の匿名プロキシサーバーを使用する状況: 匿名プロキシ

REMOTE_ADDR = 最後のプロキシ サーバー IP
HTTP_VIA = プロキシ サーバー IP
HTTP_X_FORWARDED_FOR = プロキシ サーバー IP 複数のプロキシ サーバーを経由する場合、この値は次のようになります: 203.98.182.163、203.98.182.163、203.129.72.215。

実際の IP を隠しますが、訪問者にはプロキシ サーバーを使用してアクセスしていることを明らかにします。

4. 欺瞞的なプロキシサーバーの使用: プロキシを歪める

REMOTE_ADDR = プロキシ サーバーの IP
HTTP_VIA = プロキシ サーバーの IP
HTTP_X_FORWARDED_FOR = 複数のプロキシ サーバーを経由する場合、この値は次のようになります: 203.98.182.163、203.129.72.215。

訪問者に、プロキシ サーバーを使用していることを伝えますが、実際の IP の代わりに偽のランダム IP を作成してなりすまします。

5. 高匿名性プロキシ サーバーの使用: 高匿名性プロキシ (エリート プロキシ)

REMOTE_ADDR = プロキシ サーバーの IP
HTTP_VIA = 値がないか、表示されません。
HTTP_X_FORWARDED_FOR = 値がないか、表示されません。 複数のプロキシ サーバーを経由する場合、この値は次のようになります: 203.98.182.163、203.98.182.163、203.129.72.215。

プロキシ サーバーを使用してオブジェクトに直接アクセスしているのと同じように、すべての情報をプロキシ サーバーの情報で完全に置き換えます

記事転載元: http://www.cnblogs.com/andhm/archive/2010/12/18/1910030.html

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/1129141.html技術記事 PHP での HTTP_X_FORWARDED_FOR と REMOTE_ADDR の使用、phpremoteaddr での HTTP_X_FORWARDED_FOR と REMOTE_ADDR の使用 1. REMOTE_ADDR: 現在のページを閲覧しているユーザーのコンピューターの IP アドレス...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

CakePHP の日付と時刻

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

CakePHP プロジェクトの構成

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

CakePHP ファイルのアップロード

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

CakePHP ルーティング

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP について話し合う

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP クイックガイド

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法

See all articles