2009-04-20 2 views
0

Request.UserHostAddressを使用してリファラーIPアドレス(たとえばリンクをクリックした人)を捕まえることができますが、この方法でユーザーの一意性を保証することはできません。何百ものマシンを参照している可能性があるため、このIPはNAT環境では正しく動作しません。
を本当に個のリンクをクリックした人の数を検出する可能性のある方法を探しています。
私はUserHostAddressが私を助けないと思います。

ですから、ユーザーのOSやブラウザから独自のデータを取得する方法はありますか?
(そのリンクは自分のアプリケーションではないことを考える。それは、リモートのページにある)リモートWebページ(「Request.UserHostAddress」が正しく動作していない)のリンクをクリックするリファラーの一意性を保証する方法

+1

Request.UserHostAddressが正常に動作しています - 以前の質問で指摘されているように:http://stackoverflow.com/questions/735350/how-to-get-user-client-ip-address-in-asp- net NATの背後にあるマシンのIPアドレスを送信していた場合、IPアドレスが192.168.0.0から192.168.255.255までの非常に多くのコンピュータがあり、一意性それ以上。 –

答えて

1

このリンクはあなたが自身のWebページからのものである場合、あなたは親ページ上で一意のクッキーを設定することができます。

+0

このリンクはリモートWebサイトにありません。私のものではない。 – mahdiahmadirad

3

Grzenioの回答は正しいです。私は少し精緻化します。クライアントがあなたに何かユニークなものを送ってくれるかどうかを確認する唯一の方法は、まずクライアントに送付し、それが一意であることを確認することです。 GUIDを作成し、それをクッキーに設定することは、その方法の1つです。なりすましを気にする人は、まずGUIDを暗号化してください。

クライアントに固有の何かがあることは義務付けられておらず、IPアドレスは明示的にに設定されていません。はクライアントコンピュータを識別します。

1

クッキーを設定することはできませんが、ユーザーに分かりやすく伝えることはできません。 Googleアナリティクスと他のすべてのWebアナリティクスプログラムは、IP、Cookie、またはUserIDのいずれかを使用してユーザーを区別します。

関連する問題