-2

アプリケーション層の http リクエスト ヘッダーでクライアント IP を受信できる Web サーバーがありますが、IP 情報が http ヘッダーに存在しない場合、ネットワーク層でクライアント IP を知るにはどうすればよいですか? たとえば、ネットワーク ソフトウェアまたはハードウェアをインストールして、ソース IP を検出し、サーバーに渡します。

4

2 に答える 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 に答える