【问题标题】:track recipient IP address through mail inphp通过邮件在php中跟踪收件人IP地址
【发布时间】:2014-09-25 08:29:23
【问题描述】:

我想在打开邮件后找到我发送邮件的收件人的 IP 地址。我可以查到他是否打开了我的电子邮件,但没有得到客户端的正确 IP 地址。

在我的 php 代码中,我创建了一个动态图像路径来跟踪 IP 地址。

 <img border="0" height="150" src="http://www.ogmaconceptions.com/tracking.php?email=<?php echo $client_email?>" width="100" />

在我的 tracking.php 中,我使用此代码来跟踪 IP 并动态创建图像。

public function getRealIP() {
        $ipaddress = '';
        if(isset($_SERVER['HTTP_CF_CONNECTING_IP'])) {
            $ipaddress =  $_SERVER['HTTP_CF_CONNECTING_IP'];
        } else if (isset($_SERVER['HTTP_X_REAL_IP'])) {
            $ipaddress = $_SERVER['HTTP_X_REAL_IP'];
        }
        else if (isset($_SERVER['HTTP_CLIENT_IP']))
            $ipaddress = $_SERVER['HTTP_CLIENT_IP'];
        else if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
            $ipaddress = $_SERVER['HTTP_X_FORWARDED_FOR'];
        else if(isset($_SERVER['HTTP_X_FORWARDED']))
            $ipaddress = $_SERVER['HTTP_X_FORWARDED'];
        else if(isset($_SERVER['HTTP_FORWARDED_FOR']))
            $ipaddress = $_SERVER['HTTP_FORWARDED_FOR'];
        else if(isset($_SERVER['HTTP_FORWARDED']))
            $ipaddress = $_SERVER['HTTP_FORWARDED'];
        else if(isset($_SERVER['REMOTE_ADDR']))
            $ipaddress = $_SERVER['REMOTE_ADDR'];
        else
            $ipaddress = 'UNKNOWN';

        return $ipaddress;
    }

function LoadJpeg($imgname)
{
    /* Attempt to open */
    $im = @imagecreatefromjpeg($imgname);

    /* See if it failed */
    if(!$im)
    {
        /* Create a black image */
        $im  = imagecreatetruecolor(150, 30);
        $bgc = imagecolorallocate($im, 255, 255, 255);
        $tc  = imagecolorallocate($im, 0, 0, 0);

        imagefilledrectangle($im, 0, 0, 150, 30, $bgc);

        /* Output an error message */
        imagestring($im, 1, 5, 5, 'Error loading ' . $imgname, $tc);
    }

    return $im;
}
header('Content-Type: image/jpeg');

$img = LoadJpeg('images/OC-logo.jpg');

imagejpeg($img);
imagedestroy($img);

我得到的 IP 是收件人的电子邮件服务器的 IP,而不是收件人的实际 IP 地址。有什么技巧可以让我也获得客户端IP。

谢谢 阿马尔

【问题讨论】:

    标签: php email


    【解决方案1】:

    感谢邮件提供商,垃圾邮件发送者无法再跟踪用户 IP。 隐私如今已不像过去那么愚蠢了。

    已在独立和在线邮件客户端中采取了预防措施

    【讨论】:

      【解决方案2】:

      老兄

      你应该阅读

      <?php
      $client_ip = getHostByAddr($_SERVER['REMOTE_ADDR']);
      ?>
      

      并且不要把它放在嵌套的 IF 中, 这样你就可以得到客户端的ip了.. ^_^

      【讨论】:

        猜你喜欢
        • 2014-02-22
        • 1970-01-01
        • 2011-05-15
        • 1970-01-01
        • 2016-11-17
        • 2017-04-25
        • 2020-09-26
        • 2015-08-03
        • 2022-08-17
        相关资源
        最近更新 更多