在我的电子邮件表单中显示用户 IP 地址 [重复]
Posted
技术标签:
【中文标题】在我的电子邮件表单中显示用户 IP 地址 [重复]【英文标题】:Having Users IP Address Showing In My Email Form [duplicate] 【发布时间】:2015-08-30 09:01:19 【问题描述】:您好,我创建了一个电子邮件表单,但非常不熟悉如何在发送的电子邮件中显示用户 IP 地址的部分中编写代码。这是我的代码。
【问题讨论】:
您的问题中没有与 IP 地址相关的代码。你试过什么? 不确定从哪里开始。我以前从未在代码中使用过 IP 地址。我试图用谷歌搜索它,但没有运气。 您想在电子邮件服务器中包含您的 IP 地址,还是要将收件人的 IP 地址放在电子邮件正文中? 我想把收件人的ip地址放在邮件正文中 IP 不能唯一标识一个用户,所以它有点没用 【参考方案1】:您无法确定使用您的电子邮件表单的人的真实 IP,因为他们可能位于代理或 *** 之后,但这是在访问时获得最佳候选 IP 地址的一种方式(@ 987654321@):
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() . ".";
延伸阅读:What is the difference between HTTP_CLIENT_IP and HTTP_X_FORWARDED_FOR?
【讨论】:
嗨 Drakes,我将如何向其中添加该 php 代码, $myMessage = $myNameLabel 。 '。 $_POST["m_name".$unique_id].', '. $myEmailLabel 。 '。 $_POST["m_email".$unique_id].', '.日期(“r”);$myMessage .=
(注意点)将更多文本附加到$myMessage
,因此您可以使用我的答案中提供的行将 IP 信息添加到消息的末尾。
或者,$myMessage = $myNameLabel .' '. $_POST["m_name".$unique_id].', '. $myEmailLabel .' '. $_POST["m_email".$unique_id].', '. date("r") . ', ' . getUserIP();
@EndôFujimoto 你觉得效果如何?以上是关于在我的电子邮件表单中显示用户 IP 地址 [重复]的主要内容,如果未能解决你的问题,请参考以下文章