在我的电子邮件表单中显示用户IP地址

时间:2015-06-14 23:03:27

标签: php html forms joomla

您好我已创建了一个电子邮件表单,但我对如何在显示发送的电子邮件中的用户IP地址的部分中编码非常不熟悉。这是我的代码。

1 个答案:

答案 0 :(得分:1)

您无法确定使用您的电子邮件表单的人的真实IP,因为他们可能位于代理或VPN后面,但这是一种在访问时获得最佳候选IP地址的方法({ {3}}):

function getUserIP() {
    $client  = @$_SERVER['HTTP_CLIENT_IP'];
    $forward = @$_SERVER['HTTP_X_FORWARDED_FOR'];
    $remote  = $_SERVER['REMOTE_ADDR'];

    if(filter_var($client, FILTER_VALIDATE_IP)) {
        $ip = $client;
    } else if(filter_var($forward, FILTER_VALIDATE_IP)) {
        $ip = $forward;
    } else {
        $ip = $remote;
    }
    return $ip;
}

然后,您可以使用

将IP信息添加到您的电子邮件正文中
$myMessage .= "Sent from IP: " . getUserIP() . ".";

进一步阅读:ref