1

私たちのほとんどは、spypigのようなサービスについて聞いたことがあるでしょう。サーバーからの画像がロードされたときに、クライアントの IP をどのように追跡するのか疑問に思っていました。同じことをするために aspx ページを作成しましResponse.ContentType = "image/png"たが、このために私のリンクは次のようになります

www.something.com/imagePage.aspx?id=rndmval

サーバーからの「mysite.com/images/me.gif」という画像がシステムに読み込まれるたびに、そのシステムの IP で通知を受ける方法はありますか? 画像の監視に似ています。私はspypigの仕組みが気に入っています。画像がブラウザにロードされるたびに画像を監視できます. どうやってそれを行うのか知っている人はいますか?

4

2 に答える 2

4

リクエストを取得し、リクエストからクライアントのIPアドレスを抽出し(ASPでそれを行う方法はわかりませんが、確かにそれを行う方法があります)、データベースに保存したり、電子メールを送信したりします。 .

Content-typeに設定する必要はありませんimage/png。これは、画像を期待しているブラウザに「これがあなたの画像です」と伝えるためのより良い方法ですが、実際の 1x1 PNG 画像を返さない限り、あまり意味がありません。

アップデート

IP アドレスは次の場所に含まれている必要があります。

Request.ServerVariables("remote_addr")

のような「クリーンな」URL が必要なhttp://example.com/path/to/image.gif場合は、Web サーバー側で何かを行う必要があります。/path/to/non-existent/filePHP で使用される一般的なハックの 1 つは、Web サーバーにリクエストを のようなものに「書き換え」させる/path/to/my/script.php?path=/path/to/non-existent/fileことですが、ASP/IIS でそれを行う方法はわかりません...

更新: スパイピグのしくみ

彼らはあなたに「メールに入れる画像」、つまり、名前に一意の識別子を含むサーバー上のページを指す<img>タグをsrc=""提供します。たとえば、次のようになります。

http://example.com/track-user.asp?id=ABCD12345678

ユーザーが画像を含む電子メールを開くと (ほとんどの電子メール プログラムでは、画像が実際に読み込まれる前にユーザーが [外部コンテンツの読み込み] をクリックする必要があることに注意してください。つまり、トラッキング対策のためです)、要求がサーバーに送信されます。 ID、日付、IPアドレス、およびその他の興味深い情報を含むレコードをどこかに保存します。

特定の ID を送信した相手がわかれば、開封された電子メールを追跡できます。

(ユーザーに「外部画像の読み込み」をクリックさせる一般的なトリックの 1 つは、適切に表示するために画像を大量に必要とする電子メールを送信することです。そのため、ユーザーは画像を読み込んで追跡するように促されます)。

于 2012-10-28T11:43:18.220 に答える
0

このspypig.comをざっと見ると、画像を作成すると一意のIDが与えられているようです。この ID はデータベースに保存され、後で誰かがこの画像を入力すると、システムはこの一意の ID を通知する必要がある電子メール アドレスと照合できます。

IP の追跡は、実際にははるかに簡単です。HTTP は TCP/IP の上で動作するため、クライアントのアドレスが何であるかを常に把握できます (ただし、ファイアウォール/NAT/スプーフィングされたアドレスである可能性があります)。

ASP では、これが役立つ場合があります: ASP.NET でユーザーのクライアント IP アドレスを取得する方法は? しかし、事実上、すべての HTTP サーバー側テクノロジーがこの情報へのアクセスを提供します。画像をロードするときに Web ブラウザが送信する量を見てください (どの電子メール クライアントでも同様の情報が提供されます)。

GET /rndmVal/img.gif HTTP/1.1
User-Agent: Opera/9.80 (X11; Linux i686; U; pl) Presto/2.10.229 Version/11.64
Host: localhost:8080
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/webp, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: pl-PL,pl;q=0.9,en;q=0.8
Accept-Encoding: gzip, deflate
Cache-Control: no-cache
Connection: Keep-Alive

クライアントコンピュータの IP アドレスは、TCP/IP 接続から取得できます。

于 2012-10-28T11:48:45.303 に答える