是否可以在我的数据库中存储设备唯一 'identifier'? (PHP)

Is there a possibility to store device unique 'identifier' in my database? (PHP)

我正在做一个投票系统,我希望每台设备只有一次投票机会。 我怎样才能使用 PHP?

PHP无法获取MAC,只能通过全局变量$_SERVER['REMOTE_ADDR'].

获取客户​​端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';

cookie 的使用

//如果用户第一次投票并成功然后设置 $vote = "success" 然后为该设备设置 cookie 变量

if($vote == "success"){
     setcookie("isvote", "true");
}

// 要检查用户是否投票,您可以简单地检查 cookie 变量是否存在。 // 这是您可以使用的最终代码

if (isset($_COOKIE["isvote"])){ 
   echo "you can vote only one time";
}else{
     if($vote == "success"){
       setcookie("isvote", "true");
     }

 }

通过 ip 地址和 cookie,您可以分析投票来自哪个网络..

您还可以保存用户 ID 或为该用户设置计数以了解用户尝试投票的次数。 您可以在此条件下添加语句 ->

if (isset($_COOKIE["isvote"])){
// some statements that add or update counter in database
}