Javascript 如何监控何时何地从服务器加载映像?

Javascript 如何监控何时何地从服务器加载映像?,javascript,image,ip,server-side-scripting,spying,Javascript,Image,Ip,Server Side Scripting,Spying,几乎我们所有人都听说过这样的服务。我想知道当从服务器加载映像时,他们如何跟踪客户端的IP。为了做到这一点,我制作了一个带有Response.ContentType=“image/png”的aspx页面,但我的链接如下 www.something.com/imagePage.aspx?id=rndmval 是否有任何方法可以让我的服务器上的图像在系统上加载时得到该系统的ip通知,比如“mysite.com/images/me.gif”? 它类似于监视图像。我喜欢spypig的工作方式,它可以在任何

几乎我们所有人都听说过这样的服务。我想知道当从服务器加载映像时,他们如何跟踪客户端的IP。为了做到这一点,我制作了一个带有
Response.ContentType=“image/png”
的aspx页面,但我的链接如下

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

是否有任何方法可以让我的服务器上的图像在系统上加载时得到该系统的ip通知,比如“mysite.com/images/me.gif”?
它类似于监视图像。我喜欢spypig的工作方式,它可以在任何浏览器上加载图像时监视图像。有人知道他们是怎么做到的吗

获得请求后,从请求中提取客户端的IP地址(不确定如何在ASP中实现,但肯定有办法实现),然后将其存储在数据库中/发送电子邮件/其他任何东西

无需将
Content type
设置为
image/png
,这是一种更好的方式,可以告诉期待图像的浏览器,“这是您的图像”,但除非返回实际的1x1 png图像,否则没有多大意义

更新 IP地址应包含在:

Request.ServerVariables("remote_addr")
如果您想要一个“干净”的url,例如
http://example.com/path/to/image.gif
,您必须在Web服务器端执行一些操作;PHP中使用的一种常见的黑客方法是使web服务器将对
/path/to/non-existence/file
的请求“重写”为类似
/path/to/my/script.PHP?path=/path/to/non-existence/file
,但不确定如何使用ASP/IIS实现这一点

更新:spypig是如何工作的 他们给你一个“要放入电子邮件的图像”,也就是说,
指向他们服务器上的某个页面,在其名称中包含一个唯一标识符,例如:

http://example.com/track-user.asp?id=ABCD12345678
一旦用户打开包含图像的电子邮件(请注意,大多数电子邮件程序要求用户在实际加载图像之前单击“加载外部内容”——即反跟踪措施),就会向服务器发送一个请求,服务器会在某处存储一条包含id、日期、,ip地址和任何其他有趣的信息

知道您向谁发送了特定id,您可以跟踪打开的电子邮件


(让用户点击“加载外部图像”的一个常见技巧是发送一封要求正确显示图像的电子邮件,因此鼓励用户加载图像并进行跟踪)。

如果收到请求,请从请求中提取客户端的IP地址(不知道如何在ASP中做到这一点,但肯定有办法做到这一点)并将其存储在数据库中/发送电子邮件/诸如此类

无需将
Content type
设置为
image/png
,这是一种更好的方式,可以告诉期待图像的浏览器,“这是您的图像”,但除非返回实际的1x1 png图像,否则没有多大意义

更新 IP地址应包含在:

Request.ServerVariables("remote_addr")
如果您想要一个“干净”的url,例如
http://example.com/path/to/image.gif
,您必须在web服务器端执行一些操作;PHP中使用的一种常见的hack是使web服务器“重写”请求
/path/to/non-existence/file
到类似
/path/to/my/script.php的对象?path=/path/to/non-existence/file
,但不确定如何使用ASP/IIS实现此操作

更新:spypig是如何工作的 他们给你一个“要放入电子邮件的图像”,也就是说,
指向他们服务器上的某个页面,在其名称中包含一个唯一标识符,例如:

http://example.com/track-user.asp?id=ABCD12345678
一旦用户打开包含图像的电子邮件(请注意,大多数电子邮件程序要求用户在实际加载图像之前单击“加载外部内容”——这是一种反跟踪措施),一个请求被发送到服务器,服务器在某处存储一个包含id、日期、ip地址和任何其他感兴趣的信息的记录

知道您向谁发送了特定id,您可以跟踪打开的电子邮件


(让用户点击“加载外部图像”的一个常见技巧是发送一封电子邮件,该电子邮件要求正确显示图像,因此鼓励用户加载图像并进行跟踪).

快速查看这个spypig.com,似乎当您创建一个映像时,它被赋予了一个唯一的ID。然后,这个ID被存储在数据库中,当有人稍后输入这个映像时,系统可以将这个唯一的ID与必须通知的电子邮件地址相匹配

跟踪IP实际上要简单得多。HTTP在TCP/IP之上工作,因此您总是知道客户端的地址(可能是防火墙/NAT/伪造地址)

在ASP中,这可能很有用:但实际上任何HTTP服务器端技术都可以让您访问此信息。请查看我的web浏览器在加载图像时发送的信息量(任何电子邮件客户端都会提供类似的信息):


客户端计算机的IP地址可以通过TCP/IP连接获得。

快速查看此spypig.com,似乎在您创建映像时,它被赋予了一个唯一的ID。该ID随后存储在数据库中,当稍后有人输入此映像时,系统可以将此唯一ID与必须通知的电子邮件地址相匹配

跟踪IP实际上要简单得多。HTTP在TCP/IP之上工作,因此您总是知道客户端的地址(可能是防火墙/NAT/伪造地址)

在ASP中,这可能很有用:但实际上任何HTTP服务器端技术都可以让您访问此信息。请查看我的web浏览器在加载图像时发送的信息量(任何电子邮件客户端都会提供类似的信息):


客户端计算机的IP地址可以从TCP/IP连接中获取。

Um,
Request.ServerVariables(“REMOTE\u ADDR”)
?是的。刚从文档中计算出来:)而不是页面。我想跟踪一张图像。在任何电子邮件或网页上加载的jpg图像,并在加载时返回客户的详细信息。@Amit您必须