仅允许在站点上注册一台PC(一个IP地址)

时间:2017-08-24 06:42:16

标签: php html

我有一个注册网站,要求用户通过输入用户名和电子邮件地址来创建自己的帐户。

我的网站应该只允许从一台PC(一个IP地址)注册一个电子邮件地址。

如果从同一台PC注册了另一个电子邮件帐户,它将触发一条消息,说明"您的PC或PC的IP已经注册到该网站"并拒绝创建帐户。

1 个答案:

答案 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的系统在内部连接。