


$_SERVER パラメータ HTTP_X_FORWARDED_FOR および REMOTE_ADDR と IP_PHP の取得に関するチュートリアル
1.REMOTE_ADDR: 現在のページを閲覧しているユーザーのコンピューターの IP アドレス 2.HTTP_X_FORWARDED_FOR: 現在のページを閲覧しているユーザーのコンピューターのゲートウェイ 3.HTTP_CLIENT_IP: クライアントの IP
PHP で $_SERVER["REMOTE_ADDR"] を使用して、ただし、クライアントがプロキシ サーバーを使用してアクセスする場合、取得されるのはプロキシ サーバーの 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_FOWRWARDED_FOR"]=="") { $user_ip=$_SERVER["REMOTE_ADDR"]; } else $user_ip=$_SERVER["HTTP_X_FORWARDED_FOR"]; ?&gて; |
つまり、クライアントにプロキシ サーバーが渡された場合は、HTTP_X_FORWARDED_FOR の値が取得されます。プロキシ サーバーが渡されなかった場合は、REMOTE_ADDR の値が取得されます。
クライアントの実際のIPアドレスを取得します
コードは次のとおりです | コードをコピーします |
function GetIP(){ if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv(") HTTP_CLIENT_IP" ), " 不明")) $ip = getenv("HTTP_CLIENT_IP"); else if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "不明")) $ ip = getenv(" HTTP_X_FORWARDED_FOR"); else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown")) $ip = getenv("REMOTE_ADDR"); else if (isset($ _SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], “unknown”)) $ip = $_SERVER['REMOTE_ADDR']; else $ ip = “不明”; return($ip); } |
ユーザーのIPアドレスの3つの属性(HTTP_X_FORWARDED_FOR、HTTP_VIA、REMOTE_ADDR)の取得の違い
1. プロキシサーバーを使用しない場合:
REMOTE_ADDR = あなたのIP
HTTP_VIA = 値なしまたは表示されません
HTTP_X_FORWARDED_FOR = no値または表示されません
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 = 複数のプロキシ サーバーを経由する場合、この値は次のようになります。 :203.98、182.163、203.98.182.163、203.129.72.215。
実際の IP を隠しますが、アクセスにプロキシ サーバーを使用していることを訪問者に明らかにします。
4. 不正なプロキシ サーバーの使用: プロキシの歪み
REMOTE_ADDR = プロキシ サーバーの IP
HTTP_VIA = プロキシ サーバーの IP
HTTP_X_FORWARDED_FOR = ランダムな IP 複数のプロキシ サーバーを経由する場合、この値は次のようになります: 203.98.182.163 、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 に似ています。
プロキシ サーバーを使用してオブジェクトに直接アクセスしているのと同じように、すべての情報をプロキシ サーバーの情報で完全に置き換えます。
コードは次のとおりです | コードをコピー |
if ($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"]) |
を使用します

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









Google Authenticator はユーザー アカウントのセキュリティを保護するために使用されるツールであり、そのキーは動的検証コードを生成するために使用される重要な情報です。 Google Authenticator のキーを忘れて、セキュリティ コードでしか認証できない場合は、この Web サイトの編集者が Google セキュリティ コードの入手先について詳しく説明しますので、お役に立てれば幸いです。詳細を知る ユーザーは以下を読み続けてください。まず電話の設定を開き、設定ページに入ります。ページを下にスクロールして Google を見つけます。 Googleページに移動し、「Googleアカウント」をクリックします。アカウント ページに入り、確認コードの下にある [表示] をクリックします。パスワードを入力するか、指紋を使用して身元を確認します。 Google セキュリティ コードを取得し、そのセキュリティ コードを使用して Google の ID を確認します。

WindowsServerBackup は、WindowsServer オペレーティング システムに付属する機能で、ユーザーが重要なデータとシステム構成を保護し、中小企業、エンタープライズ レベルの企業に完全なバックアップおよび回復ソリューションを提供できるように設計されています。この機能を使用できるのは、Server2022 以降を実行しているユーザーのみです。この記事では、WindowsServerBackup のインストール、アンインストール、またはリセットの方法を説明します。 Windows Server バックアップをリセットする方法 サーバー バックアップで問題が発生したり、バックアップに時間がかかりすぎたり、保存されているファイルにアクセスできない場合は、Windows Server バックアップ設定をリセットすることを検討してください。 Windowsをリセットするには

i9-12900H は 14 コア プロセッサです。使用されているアーキテクチャとテクノロジはすべて新しく、スレッドも非常に高速です。全体的な動作は優れており、いくつかのパラメータが改善されています。特に包括的で、ユーザーに優れたエクスペリエンスをもたらします。 。 i9-12900H パラメータ評価レビュー: 1. i9-12900H は、q1 アーキテクチャと 24576kb プロセス テクノロジを採用した 14 コア プロセッサで、20 スレッドにアップグレードされています。 2. 最大 CPU 周波数は 1.80! 5.00 ghz で、主にワークロードによって異なります。 3. 価格と比較すると、非常に適しており、価格性能比が非常に優れており、通常の使用が必要な一部のパートナーに非常に適しています。 i9-12900H のパラメータ評価とパフォーマンスの実行スコア

C++ パラメーターの型の安全性チェックでは、コンパイル時チェック、実行時チェック、静的アサーションを通じて関数が予期される型の値のみを受け入れるようにし、予期しない動作やプログラムのクラッシュを防ぎます。 コンパイル時の型チェック: コンパイラは型の互換性をチェックします。実行時の型チェック:dynamic_cast を使用して型の互換性をチェックし、一致しない場合は例外をスローします。静的アサーション: コンパイル時に型条件をアサートします。

国内の携帯電話の一般的な操作は非常に似ていますが、携帯電話のモデルやメーカーが異なると、デュアル SIM のインストール方法が異なる場合があるなど、細部ではまだいくつかの違いがあります。新しい携帯電話 Erzhenwo 12Pro もデュアル SIM デュアル スタンバイをサポートしていますが、この携帯電話にデュアル SIM をインストールするにはどうすればよいですか? Realme 12ProにデュアルSIMをインストールするにはどうすればよいですか?インストールする前に必ず携帯電話の電源を切ってください。ステップ 1: SIM カード トレイを見つける: 電話機の SIM カード トレイを見つける. 通常、Realme 12 Pro では、SIM カード トレイは電話機の側面または上部にあります。ステップ 2: 最初の SIM カードを挿入します. 専用の SIM カード ピンまたは小さな物体を使用して、SIM カード トレイのスロットに挿入し、最初の SIM カードを慎重に挿入します。

C++ で HTTP ストリーミングを実装するにはどうすればよいですか? Boost.Asio と asiohttps クライアント ライブラリを使用して、SSL ストリーム ソケットを作成します。サーバーに接続し、HTTP リクエストを送信します。 HTTP 応答ヘッダーを受信して出力します。 HTTP 応答本文を受信して出力します。

jQuery のヒント: 画面の高さをすばやく取得する方法 Web 開発では、レスポンシブ レイアウトの実装、要素サイズの動的計算など、画面の高さを取得する必要がある状況によく遭遇します。 jQueryを利用すると画面の高さを取得する機能を簡単に実現できます。次に、jQueryを使って画面の高さを高速に取得する実装方法をいくつか紹介し、具体的なコード例を添付します。方法 1: jQuery の height() メソッドを使用して画面の高さを取得します。

C++ 関数の参照パラメーター (基本的には変数のエイリアス、参照を変更すると元の変数が変更されます) とポインター パラメーター (元の変数のメモリ アドレスを保存し、ポインターを逆参照して変数を変更します) は、変数を渡したり変更したりするときに使用方法が異なります。参照パラメーターは、コンストラクターまたは代入演算子に渡されるときのコピーのオーバーヘッドを避けるために、元の変数 (特に大きな構造体) を変更するためによく使用されます。ポインター パラメーターは、メモリの場所を柔軟に指定したり、動的データ構造を実装したり、オプションのパラメーターを表すために null ポインターを渡したりするために使用されます。
