Créez une table de base de données pour l'enregistrement des utilisateurs. Les colonnes ressembleront à ceci
ID | IP | Browser
L'ID sera une valeur auto-incrémentée
Obtenir l'IP avec la fonction suivante (bien sûr, ce n'est pas une méthode fiable à 100%. )
function getIP() {
if (!empty($_SERVER['HTTP_CLIENT_IP'])) { //check ip from share internet
$ip = $_SERVER['HTTP_CLIENT_IP'];
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { //to check ip is pass from proxy
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
$ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;
}
Et navigateur avec Javascript. Vous pouvez l'envoyer au côté php via ajax. (Nous faisons cela pour augmenter la fiabilité de la détection).
Ensuite, vérifiez cette table chaque fois que l'utilisateur essaie de voter. Vous pouvez rechercher le navigateur et l'ip. Si num_rows>0 alors empêchez (notifiez le visiteur) le vote.