您收到请求,从请求中提取客户端的 IP 地址(不知道如何在 ASP 中做到这一点,但肯定有办法做到这一点)并将其存储在数据库中 / 发送电子邮件 / 其他任何东西。 .
无需设置Content-type
为image/png
,这只是告诉浏览器(谁在期待图像)“这是您的图像”的一种更好的方式,但除非您返回实际的 1x1 PNG 图像,否则它没有多大意义。
更新
IP 地址应包含在:
Request.ServerVariables("remote_addr")
如果你想要一个“干净”的 url,比如http://example.com/path/to/image.gif
,你必须在 webserver-side 做一些事情;PHP中使用的一种常见技巧是使Web服务器“重写”/path/to/non-existent/file
对类似的请求/path/to/my/script.php?path=/path/to/non-existent/file
,但不确定如何使用ASP / IIS做到这一点......
更新:spypig 是如何工作的
他们给你一个“要放入电子邮件的图像”,即<img>
一个指向他们服务器上某个页面的标签,src=""
在其名称中包含一个唯一标识符,例如:
http://example.com/track-user.asp?id=ABCD12345678
一旦用户打开包含图像的电子邮件(请注意,大多数电子邮件程序要求用户在实际加载图像之前单击“加载外部内容” - 即一种反跟踪措施),一个请求被发送到服务器,该服务器在某处存储包含 id、日期、IP 地址和任何其他有趣信息的记录。
知道您将某个 ID 发送给了谁,您就可以跟踪打开的电子邮件。
(让用户点击“加载外部图像”的一个常见技巧是发送一封非常需要图像才能正确显示的电子邮件,因此鼓励用户加载它们 - 并被跟踪)。