Sytème anti-triche :) [PHP] - PHP - Programmation
Marsh Posté le 14-05-2002 à 20:14:13
Une table avec 2 colonnes, l'IP et la date du dernier vote sur cette IP.
Avant de valider, tu recherche dans cette table :
- Si l'IP s'y trouve et que la date est < à 24 heures, tu valides pas.
- Sinon, tu valides le vote et tu insères la nouvelle IP (où tu mets à jour le champ date).
Faudra penser à vider la table des IP les plus vieilles de temps en temps.
Marsh Posté le 14-05-2002 à 20:21:50
ca sur programmationworld.com
ya un super article sur la création d'un sondage, qui permet egalement de ne pas voter 2 fois grace a un stockage d'ip
Marsh Posté le 14-05-2002 à 20:43:12
Je viens de faire ca :
Citation : $query = "delete from ip"; |
Malheureusement, ca marche pas, l'IP n'est pas enregistrée ds la base, vous voyez pk ?
Merci bocoup
Marsh Posté le 14-05-2002 à 20:46:12
Max Evans a écrit a écrit : Je viens de faire ca :
|
tu l'a vide a chaque fois!!
[jfdsdjhfuetppo]--Message édité par veryfree le 14-05-2002 à 20:47:53--[/jfdsdjhfuetppo]
Marsh Posté le 14-05-2002 à 20:55:37
Max Evans a écrit a écrit : Je viens de faire ca :
|
Pourquoi tu vides toujours la table ip
Sinon, tu peux mettre à jour 2 colonnes en même temps, pas la peine de faire 2 requetes :
UPDATE top50 SET hitsin=hitsin+1, ip='$ip' WHERE id = '$id'";
(en mettant ip entre ''
Marsh Posté le 14-05-2002 à 20:56:29
ReplyMarsh Posté le 14-05-2002 à 20:57:03
bien grilled là ...
$query = "delete from ip where date<".time();
$result = mysql_query($query);
$ip=getenv("HTTP_X_FORWARDED_FOR" ) ? getenv("HTTP_X_FORWARDED_FOR" ) : getenv("REMOTE_ADDR" );
$query= "Select * from ip where ip='$ip'";
$result = mysql_query($query);
if(mysql_num_rows($query)>0){
echo "un seul vote, merci";
exit;
}
$sql = "UPDATE top50 SET hitsin=hitsin+1 WHERE id = '$id'";
$sql2 = "INSERT INTO ip (ip,date) VALUES ('$ip','".time()+3600*24."'";
$req = mysql_query($sql);
$req2 = mysql_query($sql2);
mysql_close($db);
[jfdsdjhfuetppo]--Message édité par ethernal le 14-05-2002 à 20:59:36--[/jfdsdjhfuetppo]
Marsh Posté le 14-05-2002 à 21:02:10
Ho, c le code pour limiter le vote a une fois par jour, et un stockage de l'IP ????
C ce que je cherchais !
MERCHI !
Marsh Posté le 14-05-2002 à 19:28:38
Salut a tous
J'ai fais un Top 50 pour mon site, et je me heurte donc aux petits tricheurs qui votent 100x par jour pour leur site
J'ai donc pensé a un systeme qui stockent les dernieres IP dans la base MySQL
Mais justement, pour stocker les 10 derniers IP, je fais 10 champs ? Ou bien, je fais un champ, et les IP sont stockées les unes a la suite des autres ?
En fait, je vois pas trop comment faire
Sinon, si j'utilise le systeme de stockage d'IP, un systeme anti-triche est utile aussi ou pas ?
Merci a tous
Arnaud
---------------
Envie d'un bol d'air ? Traxxas Revo 3.3