私は、$_SERVER['REMOTE_ADDR']
という値をMySQLデータベースに保存することでユーザーのIPアドレスを保存しています。問題は、FirefoxとChromeの両方で$_SERVER['REMOTE_ADDR']
が::1
(つまり、のIPv6ホストであり、IPv6が)、IEとOperaの両方が127.0.0.1
(IPv4)であるという問題です。異なるブラウザ、異なるIP?
だから、私の質問は
は、IPのバージョンは、ブラウザに依存していますか。 (私はそれがコンピュータ に依存していると思っていました)
データベースには、IPv4アドレス用とIPv6用の2つのフィールドを作成する必要がありますか?
すべてのIPをIPv6に統一する必要がありますか?そして、PHPでこれを行うにはどうしたらいいですか?
:-) REMOTE_ADDRの値にあまり依存ししかし...ないのですか?つまり、ウェブページがChromeでの移動中にIPで禁止されているとすれば、Operaを使用してログを記録すると、バイパスできますか? – federicot
いいえ2つの異なるアドレス空間を持つ2種類のネットワークトランスポートです。 2つのプロトコルのネットワークでは、ネットワークの設定に応じて、IPv6アドレスとIPv4アドレスが一致する場合と一致しない場合があります。 –
@John Doe:理論的には、はい。あなたは2つの異なるIPを持っているので、1つをブロックすれば、もう1つは通過できます。実際には、おそらくそうではありません。 IPv6が有効なサイトはあまりなく、トンネリング/カプセル化なしでIPv6接続を提供するISPは少なくなります。 –