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