JavaScriptでクライアントのIPアドレスを取得するには?

JavaScriptを使って、クライアントのIPアドレスをなんとか取得したいのですが、サーバーサイドのコードはなく、SSIでもありません。

しかし、フリーのサードパーティのスクリプトやサービスを使うことに抵抗はありません。

ここでの回答のほとんどは、サーバーサイドコードの必要性を回避するために...誰か他の人のサーバーを叩く。実際にサーバーを叩かずにIPアドレスを取得する必要がある場合は別ですが、これは完全に有効な手法です。

しかし、WebRTCの出現により、実際にこれが可能になりました...。*WebRTCをサポートしているブラウザ]1(現在はFirefox、Chrome、Opera)をターゲットにしていれば、このようなことが可能です。

WebRTCを使って有用なクライアントのIPアドレスを取得する方法の詳細については、mido's answerをお読みください。

解説 (6)

何らかの外部サービスを利用しない限り、一般的には不可能です。

解説 (1)

クライアントコンピュータのIPアドレスを取得するための確実な方法はありません。

これは、いくつかの可能性について説明しています。ユーザーが複数のインターフェースを持っている場合、Javaを使用したコードは壊れてしまいます。

http://nanoagent.blogspot.com/2006/09/how-to-find-evaluate-remoteaddrclients.html

他の回答を見ていると、クライアントのパブリックIPアドレスを取得したいようです。他の回答にもそのようなことが書かれています。私は、動作するかどうかわからない他人のサービスに頼るのではなく、リクエストを受信してIPアドレスを応答するための独自のサーバーサイドページを作成してホストすることをお勧めします。

解説 (0)