アプリケーション層の http リクエスト ヘッダーでクライアント IP を受信できる Web サーバーがありますが、IP 情報が http ヘッダーに存在しない場合、ネットワーク層でクライアント IP を知るにはどうすればよいですか? たとえば、ネットワーク ソフトウェアまたはハードウェアをインストールして、ソース IP を検出し、サーバーに渡します。
質問する
468 次
2 に答える
1
getsockname()
受け入れられたすべての TCP ソケットは、 APIを介してリモート IP アドレスとリモート ポート番号を提供できます。
IIS が既にそれを行っていることがわかると思います。通常、クライアント IP は HTTP ヘッダーでは提供されません。それは冗長です。
于 2013-10-17T05:41:41.590 に答える
1
「クライアント IP」が、リクエストを Web サーバーに中継した最後のプロキシではなく、HTTP リクエストの発信元のアドレスを参照している場合は、HTTP ヘッダー規則を使用する方が信頼性が高くなります。X-Forwarded-Forを参照してください
于 2013-11-10T12:21:31.527 に答える