5

さて、私はユーザーのログイン履歴を記録しようとしているので、そのためにはユーザーの IP アドレスを追跡する必要があります。私が使用した:

$this->input->ip_address();

これはip address、ユーザーが有効な IP を持っている場合はマシンの を返す必要0.0.0.0があり、ユーザーが有効な IP を持っていない場合は返す必要があります。しかし、私の場合はどちらも返されません。

異常な形式を返しています。

::1

PSローカルコンピューターでチェックしています。

編集 :

コメントしてくれたすべての人に感謝します。しかし、それでもここに出てくるのは奇妙なことです。同じマシンで 2 つの別々のアプリケーションを実行しています。どちらのアプリケーションも Codeigniter 2 で作成されています。最初のものは記録0.0.0.0し、2 番目のものは記録し::1ます。両方のアプリケーションが同じものを返す必要はありませんか?

ありがとう

4

2 に答える 2

6

::1 有効な IP アドレスです。

http://en.wikipedia.org/wiki/IPv6

于 2012-09-09T13:37:07.877 に答える
1

::1 が hosts ファイルに存在するかどうかを確認し、それをコメントアウトして、両方のアプリケーションが同じように動作するかどうかを確認することをお勧めします。

このスレッドには役立つ情報があります: http://codeigniter.com/forums/viewthread/205222

特に

したがって、マシンはデュアル スタックを実行しており (最近のほとんどの最新の OS はこれを行っています)、その場合、IPv4 よりも IPv6 を優先します。

localhost インターフェイスから IPv6 を削除するか、ローカル Web サーバーから IPv6 サポートを削除します (v4 アドレスのみをリッスンするようにします)、[抜粋]

于 2012-10-17T23:23:14.700 に答える