1

特定のサーバー設定について疑問に思っています。

ネットワーク内外から www.example.com などの URL を使用してアクセスできるローカル ネットワークで Web サーバーを実行しているとします。

PHP Web サイトで、要求が内部 LAN からのものか、外部からのものかを判別できるようにしたいと考えています。リクエストは、内部アドレス 192.168.xx ではなく、パブリック IP アドレスから送信されているように見えるため、IP アドレスを使用してこれが可能になるとは思えません。また、パブリック IP は時々変更される可能性があります。

これは可能でしょうか?PHPでこれを達成するにはどうすればよいですか?

4

2 に答える 2

2

リクエストが LAN 内から送信された場合、$_SERVER['REMOTE_ADDR'] はプライベート IP アドレス グループから送信されますが、LAN の外側から送信された場合は送信されません。内部ネットワークの構成が不十分な場合を除きますが、おそらくそうではありません。

正しいアドレス グループについては、こちらを参照して ください http://en.wikipedia.org/wiki/Private_network

内部 dns サーバーが example.com をパブリック ip に解決する場合、リクエストはパブリック ip からも送信されているように見えるため、この場合、リクエストが内部から送信されたこともわかります。

于 2012-07-25T15:01:09.613 に答える
0

オフィスの外部 NAT IP 範囲が何であるかを知っている限り、$_SERVER['REMOTE_ADDR'] 値にアクセスすることでこれを簡単に実行できるはずです。

于 2012-07-25T15:01:46.890 に答える