像素标签这类技术其实已经在很多商业网站中有涉及到,但是很多网站不会明确的指明。也有的叫做“埋点技术”,即用来收集用户的点击事件来分析用户的喜好。就像 apple 声明的那样,一般不会将用户操作情况和用户的身份绑定,仅仅用来分析网站的运行情况。
网易邮箱提供了「已读回执」的功能,但实际上这个功能非常鸡肋,收件人点开邮件会有一个弹窗“该邮件邀请已读回执,是否发送?”,但一般看到后会觉得“又被冒犯到”。
本文简单介绍一下「像素标签」实现的原理,原理其实非常简单,(以 php 文件为例)用 php 文件打开后伪装成是一个像素的图片,实则在打开的同时,就将用户的 ua 信息写到了服务器的文本里面。
<?
error_reporting(0);
Header("Content-Type: image/jpeg");
//Get IP
if (!empty($_SERVER['HTTP_CLIENT_IP']))
{
$ip=$_SERVER['HTTP_CLIENT_IP'];
}
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
{
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}
else
{
$ip=$_SERVER['REMOTE_ADDR'];
}
//Time
$actual_time = time();
$actual_day = date('Y.m.d', $actual_time);
$actual_day_chart = date('d/m/y', $actual_time);
$actual_hour = date('H:i:s', $actual_time);
//GET Browser
$browser = $_SERVER['HTTP_USER_AGENT'];
//LOG
$myFile = "log.txt";
$fh = fopen($myFile, 'a+');
$stringData = $actual_day . ' ' . $actual_hour . ' ' . $ip . ' ' . $browser . ' ' . "\r\n";
fwrite($fh, $stringData);
fclose($fh);
//Generate Image (Es. dimesion is 1x1)
$newimage = ImageCreate(1,1);
$grigio = ImageColorAllocate($newimage,255,255,255);
ImageJPEG($newimage);
ImageDestroy($newimage);
?>
在此基础上,如果感兴趣可以做进一步优化,比如一旦打开就给自己的邮箱发送一封邮件,甚至将图片的打开的数据存储到数据库中,做一个可视化管理。
使用方法就是在邮箱正文里面插入该图片的html代码即可。
via:https://www.ihewro.com/archives/1083/