我有一个注册网站,要求用户通过输入用户名和电子邮件地址来创建自己的帐户。
我的网站应该只允许从一台PC(一个IP地址)注册一个电子邮件地址。
如果从同一台PC注册了另一个电子邮件帐户,它将触发一条消息,说明"您的PC或PC的IP已经注册到该网站"并拒绝创建帐户。
答案 0 :(得分:-1)
function get_client_ip() {
$ipaddress = '';
if (getenv('HTTP_CLIENT_IP'))
$ipaddress = getenv('HTTP_CLIENT_IP');
else if(getenv('HTTP_X_FORWARDED_FOR'))
$ipaddress = getenv('HTTP_X_FORWARDED_FOR');
else if(getenv('HTTP_X_FORWARDED'))
$ipaddress = getenv('HTTP_X_FORWARDED');
else if(getenv('HTTP_FORWARDED_FOR'))
$ipaddress = getenv('HTTP_FORWARDED_FOR');
else if(getenv('HTTP_FORWARDED'))
$ipaddress = getenv('HTTP_FORWARDED');
else if(getenv('REMOTE_ADDR'))
$ipaddress = getenv('REMOTE_ADDR');
else
$ipaddress = 'UNKNOWN';
return $ipaddress;
}
使用此功能查找IP地址并将其保存到db。在保存注册数据之前,请验证数据库中是否已存在IP。
然而,它总是一个坏主意,因为单个IP并不意味着单个PC。它们是单个传出IP,而它们可能是在组织内使用相同IP的1000多个系统。学校,大学,企业通常几乎没有传出的IP,而1000的系统在内部连接。