0

.NET で会社のオンライン アプリケーションの 1 つへの訪問者の IP アドレスを追跡するコードを書くように依頼されました。これは、昨年末に別のサイトを作成したのに続いて、実際に私が作成した 2 番目のサイトです。その時も今も、私が知っている別のボックスに同じIPアドレスが表示されることがあることに気付きました... 時には同僚のものであり、時にはこの建物にさえないボックスです. コードは非常に簡単です。アドレスを取得する方法は次のとおりです。

Dim IPAddress As String = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If IPAddress = "" Then IPAddress = Request.ServerVariables("REMOTE_ADDR")

ユーザーがログインすると、結果をデータベースに記録します。もちろん、私の開発ボックスでの今朝のテストでは、127.0.0.1 .....良い結果が得られました。ステージング サーバーにコードをデプロイしたときに、実際の IP アドレスを取得しました (見ればわかるほど十分に見ました)。すべて問題ありませんでしたが、QA グループの同僚がテストに参加し、私の IP アドレスがデータベースに記録されました。そのアドレスを共有していないことは確かです。

また、最初の展開中にこれを見たことを思い出します。そのとき、米国中のさまざまな州の顧客からのトランザクションが MY IP アドレスでログに記録されました。私は物事を見ていません.....誰かがこれがどのように起こっているか教えてもらえますか? トランザクション ヘッダーがキャッシュされていて、後続の呼び出しで新しいユーザーの情報が取得されていないようです。

何か案は?ありがとう!

4

1 に答える 1

0

ほとんどの場合、表示されているのはルーターの IP アドレスです。Web アプリケーションでユーザーを追跡するより良い方法は、Cookie を使用してユーザーにタグを付けることです。[森の中で野生動物にタグを付けるようなものです。] その後、Cookie の ID を使用して、再訪問時にそれらを識別できます。

于 2010-09-09T17:37:21.540 に答える