$ _SERVER ['REMOTE_ADDR']を使用して、クライアントのIPアドレス(現在のページを表示しているIPアドレス)を返しますが、現在は(同じコード)ホストのIPアドレス(私はIPアドレスでIPアドレスを調べました)。問題はホストや何ですか? ありがとうございます。
答えて
HTTP_X_FORWARDED_FOR
を最初に照会し、割り当てられていない場合はREMOTE_ADDR
を使用してください。
私は今、HTTP_X_FORWARDED_FORを使用し、正しいipを返します。なぜREMOTE_ADDRに問題がありますか? – imez
あなたとサーバーの間にプロキシが存在するため、プロキシのアドレスをREMOTE_ADDRとして取得します。 HTTP_X_FORWARDED_FORは、プロキシを使用するクライアントのIPです。 –
@imez:@Roshはすでにあなたとサーバーの間にプロキシが存在しなければならないと指摘しており、 'REMOTE_ADDR'をクエリするとプロキシサーバーのIPを取得します。最初に 'HTTP_X_FORWARDED_FOR'をチェックすると、プロキシはこれを'本当の 'IPアドレスで設定します。 – James
は、私は配列のキーは大文字と小文字が区別されることに言及する必要があり、大文字でなければなりません:
var_dump($_SERVER['remote_addr']);
echo "\n";
var_dump($_SERVER['REMOTE_ADDR']);
が出力:
Notice: Undefined index: remote_addr in /home/adam/public_html/2011/01/04/foo.php on line 3
NULL
string(15) "10.0.1.51"
私はvar_dump($_SERVER)
だけの状態を評価するだろうあなた世界、そしてそこから行く。
デフォルトで
@imez @James IPは$ _SERVER [ 'REMOTE_ADDR']であるクライアント。ユーザーがPROXYサーバー(HTTPゲートウェイ)を使用してサイトに入ると、プロキシサーバー(HTTP_X_FORWARDED_FOR)が表示され、$ _SERVER ['REMOTE_ADDR']に独自のプロキシIPが与えられます。
匿名プロキシはHTTP_X_FORWARDED_FORを省略するか、単にあなたに嘘をつきます。
実際のクライアントIPがあることを知ることはできません。
私は自分の答えについてコメントしました。実際のIPアドレスが 'HTTP_X_FORWARDED_FOR'であることは決して*甘いことではありませんが、私が言ったように、ほとんどの時間はそうです。 – James
@James:あなたは私より速いです;-) - –
localhostで何が起こるのでしょうか?どのように私はプロキシを使用して知っている(確かに私は使用しない)? –
- 1. $ _SERVER ['REMOTE_ADDR']のIPV6表記
- 2. PHPの$ _SERVER ['REMOTE_ADDR']の信頼性
- 3. $ _SERVER [ 'REMOTE_ADDR']サーバーではなく、訪問者のリターンIP IP
- 4. $ _SERVER ['HTTP_HOST']と$ _SERVER ['SERVER_NAME']検出の問題
- 5. $ _SERVER ['REMOTE_ADDR']と$ _SERVER ['HTTP_USER_AGENT']を安全に使用する方法
- 6. PHP $ _SERVER ['REMOTE_ADDR']がIPv6を表示
- 7. $ _SERVER ['REMOTE_ADDR']は常にisset()ですか?
- 8. ロードバランサ$ _SERVER ['REMOTE_ADDR']が動作しません
- 9. php $ _SERVER ['DOCUMENT_ROOT']問題
- 10. 問題がある - $ _SERVER ['SERVER_NAME']
- 11. $ _SERVER ['REMOTE_ADDR']を信頼するのは安全ですか?
- 12. $ _SERVER ['REMOTE_ADDR']は5桁の長さを返します。IP
- 13. ログインセキュリティ:PHPの$ _SERVER ['REMOTE_ADDR']を信頼できますか?
- 14. なぜ$ _SERVER ['REMOTE_ADDR']が127.0.0.1を返すのですか
- 15. $ _SERVER ['argv'] HTTP GETとCLIの問題
- 16. GeoIPと$ _SERVER ['REMOTE_ADDR']はどれほど正確ですか?
- 17. $ _SERVER ['REMOTE_ADDR']は正しいIPアドレスを与えていません
- 18. イントラネットで$ _SERVER ['REMOTE_ADDR']を偽っていますか?
- 19. nginx fastcgi_param REMOTE_ADDRが設定されていないと、$ _SERVER ['REMOTE_ADDR']内にあるものは何ですか?
- 20. 号【「REMOTE_ADDR」] IPの
- 21. PHPの$ _SERVER ['REMOTE_ADDR']は異なる構造を報告しています
- 22. HTTP_REFERER&REMOTE_ADDR Combined
- 23. ページネーションの問題は、非改ページのハイパーリンクは、$ _SERVER [「PHP_SELF」]
- 24. PHP:$ _SERVER変数:$ _SERVER [ 'HTTP_HOST'] $ _SERVER [ 'SERVER_NAME']
- 25. ネストされた引用の問題 - $ _SERVER [「PHP_SELF」]何らかの理由で
- 26. $ _SERVER ['REMOTE_ADDR']が間違ったIPを表示しているのはなぜですか?
- 27. gethostbyaddr($ _ SERVER ['REMOTE_ADDR'])php
- 28. PHP:$ _SERVER ['REDIRECT_URL']対$ _SERVER ['REQUEST_URI']
- 29. $ _SERVER ['REMOTE_ADDR']にワイルドカードを設定するにはどうすればいいですか?
- 30. PHP $ _SERVER ['REMOTE_ADDR']は空文字列に解決されることがあります
あなたは偶然にあなたのホストからそれを訪れることはありませんか? – TJHeuvel
プロキシを使用していますか? – Gumbo
番号。私は何度かチェックした。私はなぜプロキシを使用しないでください – imez