PHP クライアント IP の取得_PHP チュートリアル
1
2 // getenv() の使用例
3 $ip = getenv('REMOTE_ADDR');
4 // または単にスーパーグローバル ($_SERVER または $_ENV) を使用します5 $ip = $_SERVER['REMOTE_ADDR']
6 ?>
これはPHPの公式マニュアルに記載されている方法です。
したがって、より安全で正確な方法は、getenv 関数の使用をできるだけ避けることです。たとえば、次の関数を使用して IP 情報を取得できます:
01
02 関数 GetIP(){03 if (getenv("HTTP_CLIENT_IP")
04 && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown"))
05 $ip = getenv("HTTP_CLIENT_IP");
06 else if (getenv("HTTP_X_FORWARDED_FOR")
07 && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown"))
08 $ip = getenv("HTTP_X_FORWARDED_FOR");
09 else if (getenv("REMOTE_ADDR")10
11 $ip = getenv("REMOTE_ADDR");12 else if (isset($_SERVER['REMOTE_ADDR'])
13
14 && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown"))15 $ip = $_SERVER['REMOTE_ADDR']
他16個
17 $ip = "不明";
18 リターン ($ip)
19 }
20
21 $ip = GetIP();
22 エコー $ip23 ?>
このうち、HTTP_X_FORWARDED_FOR、HTTP_VIA、REMOTE_ADDRの違いは
1. プロキシサーバーを使用しない場合:REMOTE_ADDR = あなたのIP
HTTP_VIA = 値がないか、www.2cto.com が表示されません
HTTP_X_FORWARDED_FOR = 値がないか、表示されません
2. 透過プロキシサーバーの使用状況: 透過プロキシ
REMOTE_ADDR = 最後のプロキシ サーバー IP
HTTP_VIA = プロキシサーバーのIP
このタイプのプロキシ サーバーは依然としてあなたの情報を訪問者に転送するため、あなたの本当の身元を隠すという目的を達成することはできません。
REMOTE_ADDR = 最後のプロキシ サーバー IP
HTTP_VIA = プロキシサーバーのIP
HTTP_X_FORWARDED_FOR = プロキシ サーバー IP。複数のプロキシ サーバーを経由する場合、この値は 203.98.182.163、203.98.182.163、203.129.72.215 のようになります。
4. 欺瞞的なプロキシサーバーの使用: プロキシを歪める
REMOTE_ADDR = プロキシサーバーのIP
HTTP_VIA = プロキシサーバーのIP
HTTP_X_FORWARDED_FOR = ランダム IP。複数のプロキシ サーバーを経由する場合、この値は 203.98.182.163、203.98.182.163、203.129.72.215 のようになります。
5. 高匿名性プロキシサーバーの使用状況: 高匿名性プロキシ(エリートプロキシ)
REMOTE_ADDR = プロキシサーバーのIP
HTTP_VIA = 値がないか、表示されません
HTTP_X_FORWARDED_FOR = 値がないか、複数のプロキシ サーバーを経由する場合、この値は 203.98.182.163、203.98.182.163、203.129.72.215 のようになります。
プロキシ サーバーを使用してオブジェクトに直接アクセスしているのと同じように、すべての情報がプロキシ サーバーの情報で完全に置き換えられます。
関数 getip(){
if($_SERVER['HTTP_X_FORWARDED_FOR']){
$online_ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
}elseif($_SERVER['HTTP_CLIENT_IP']){
$online_ip = $_SERVER['HTTP_CLIENT_IP'];
}その他{
$online_ip = $_SERVER['REMOTE_ADDR'];
}
$online_ip を返します;
}

ホット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)

ホットトピック











PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、
