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