拦截对webserver目录上的文件的热链接/直接请求并记录命中

时间:2016-02-17 01:40:47

标签: php email webserver cpanel user-tracking

除了隐私问题,我运行域名和网站(仅限cPanel访问权限),我想实现此目的:

  1. 在电子邮件,网站或其他提供HTML内容但没有javascript的方式上,链接到img标记内托管在我服务器上的唯一图片网址,例如:

    <img src="http://example.com/unique_code.jpg"/>  
    
  2. 识别,拦截和重定向尝试加载图片的客户的请求;

  3. 不是提供图像文件(不存在),而是调用一个php脚本,从URL中提取所述唯一代码,并将请求记录在数据库中(时间,唯一代码,IP等);

  4. 让php脚本提供一个默认图像,这可能是我的电子邮件签名,例如:

    example.com/defaultimage.jpg
    
  5. This question处理第3步和第4步,但在步骤1中不合适,因为请求直接发送到php文件,例如: <img src="http://example.com/script.php?code=unique"/>看起来很愚蠢到最终用户并且无法工作或故意在某些客户端(例如GMail)上进行过滤,因为客户端软件需要img标记内的实际链接图像文件,而不是php脚本。

    我想要的解决方案真的可行吗?我想不是,但this external tutorial表明它是使用Grails(我怀疑类似的东西可以用Ruby on Rails实现,我可以访问)但我无法理解实现细节,因为我不知道不知道如何截取和重定向对图像文件的直接请求。

    由于最终目标是在没有javascript的情况下跟踪命中,我认为另一种方式是涉及cPanel的原始访问日志,它会记录所有需要的信息。但是,我不知道如何自动执行该过程,因为我必须:

    1. 找到一种方法可以在需要时生成每个唯一文件(我必须使用信标,不可见的1x1像素GIF)并将其放在网络服务器目录中。

    2. 自动下载,解析和过滤cPanel的原始访问日志。

    3. 我对如何自动化第一点有一个大概的想法,但绝对没有第二点的线索。

      如果我最初的想法是不可能的,并且链接的教程实际上是无效的,我会非常高兴听到根据第二点自动解析和扫描原始访问日志的替代建议或方法。

0 个答案:

没有答案