Comparer deux IP dans le temps
6 messages
• Page 1 sur 1
- psychoreflex
- WRInaute passionné

- Messages: 1123
- Inscription: 10 Juil 2005
Comparer deux IP dans le temps
Bonjour,
Je suis en train de placer un système de commentaire sur un site et pour éviter le flood, je vais devoir comparer le temps qui s'est écoulé entre deux post d'une même ip.
Pour ce faire je récupère l'ip du posteur dans un champ hidden ainsi que l'heure de son post, et je compare ces données avec l'heure du post ayant la même IP.
Bon
Je vais farfouiller sur internet pour savoir comment comparer deux IP dans le temps, mais si vous avez déjà une idée de requête SQL, ce serait sympa.
merci d'avance.
Je suis en train de placer un système de commentaire sur un site et pour éviter le flood, je vais devoir comparer le temps qui s'est écoulé entre deux post d'une même ip.
Pour ce faire je récupère l'ip du posteur dans un champ hidden ainsi que l'heure de son post, et je compare ces données avec l'heure du post ayant la même IP.
Bon
Je vais farfouiller sur internet pour savoir comment comparer deux IP dans le temps, mais si vous avez déjà une idée de requête SQL, ce serait sympa.
merci d'avance.
- Toutou-Fr
- WRInaute impliqué

- Messages: 642
- Inscription: 22 Aoû 2005
En quel langage ?
Il faut que tu stocke l'heure précise de ton serveur dans une variable . (a l'aide de la fonction microtime() par exemple en php)
tu stockes egalement l'ip
tu fais un " select ip from table_ip where ip = "l'ip" and temps>" $var_temps - (la durée pendant laquelle la meme ip ne doit pas poster ) "
si la requete ne te retourne aucun resultat,
alors la personne peut poster
et tu fais un insert dans la table de l'ip et de ta $var_temps pour eviter qu'il reposte.
cela dit, je te recommande egalement la mise en place de sessions, moins gourmande.
Il faut que tu stocke l'heure précise de ton serveur dans une variable . (a l'aide de la fonction microtime() par exemple en php)
tu stockes egalement l'ip
tu fais un " select ip from table_ip where ip = "l'ip" and temps>" $var_temps - (la durée pendant laquelle la meme ip ne doit pas poster ) "
si la requete ne te retourne aucun resultat,
alors la personne peut poster
et tu fais un insert dans la table de l'ip et de ta $var_temps pour eviter qu'il reposte.
cela dit, je te recommande egalement la mise en place de sessions, moins gourmande.
- psychoreflex
- WRInaute passionné

- Messages: 1123
- Inscription: 10 Juil 2005
Merci pour ta réponse,
C'est du PHP/mysql.
Ce qui me chiffonne, c'est la date dans la requête sql.
Exemple : le gars viens de poster. Avant l'insertion dans la base, je récupère son IP et l'heure de son post, je lui soustrais 30 sec.
Là j'ai une requête qui va chercher dans la base une éventuelle IP identique datant de moins de 30 seconde.
C'est juste ?
Si oui, je récupère la date ainsi:
$date=strftime("%y/%m/%d %H:%M:%S"); echo"$date"
Comment j'enlève 30 seconde à cette date ?
Sinon pour les sessions je veux bien en savoir plus, mais par curiosité pour d'autres développement, là je reste sur cette idée, je dois aller vite pour ce projet.
Merci d'avance.
C'est du PHP/mysql.
Ce qui me chiffonne, c'est la date dans la requête sql.
Exemple : le gars viens de poster. Avant l'insertion dans la base, je récupère son IP et l'heure de son post, je lui soustrais 30 sec.
Là j'ai une requête qui va chercher dans la base une éventuelle IP identique datant de moins de 30 seconde.
C'est juste ?
Si oui, je récupère la date ainsi:
$date=strftime("%y/%m/%d %H:%M:%S"); echo"$date"
Comment j'enlève 30 seconde à cette date ?
Sinon pour les sessions je veux bien en savoir plus, mais par curiosité pour d'autres développement, là je reste sur cette idée, je dois aller vite pour ce projet.
Merci d'avance.
- psychoreflex
- WRInaute passionné

- Messages: 1123
- Inscription: 10 Juil 2005
Que pensez vous de cette requête ?
SELECT ip FROM table WHERE ip=$ip AND date= $date - INTERVAL 30 SECOND.
SELECT ip FROM table WHERE ip=$ip AND date= $date - INTERVAL 30 SECOND.
- psychoreflex
- WRInaute passionné

- Messages: 1123
- Inscription: 10 Juil 2005
En fait le problème est résolu de longue date, j'ai utilisé la fonction time(), beaucoup plus simple à utiliser.
Pour ce qui est d'utiliser le jour, cela veut dire qu'une fois un commentaire posté, il n'est plus possible de poster quoi que ce soit durant toute la journée. Pas terrible comme idée, me semble t'il.
Enfin bon, merci d'avoir participé
Pour ce qui est d'utiliser le jour, cela veut dire qu'une fois un commentaire posté, il n'est plus possible de poster quoi que ce soit durant toute la journée. Pas terrible comme idée, me semble t'il.
Enfin bon, merci d'avoir participé
6 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- [résolu] comparer 2 dates
- Extraire chaine et comparer
- Comparer 2 mots clefs
- pratique pour comparer
- Comparer Google Analytics et Awstats
- comparer laudience de deux mots clef
- comparer les résultats de Google vs Bing
- [logiciel] comparer et suivre son positionnement
- Comparer date dans base de données
- Comparer son trafic avec alexa?
- Comparer les classes C de 2 adresses IP - 03-09-2004
- Testez AdSense sans même vous inscrire ! - 18-12-2003
- Google AdSense offre (enfin) des statistiques détaillées - 07-12-2004
- Google veut référencer les livres - 31-10-2003
- Brevet de Google sur le contenu dupliqué - 03-01-2007
- La mise à jour BigDaddy se poursuit... - 02-02-2006
- Google rachète Teracent - 24-11-2009
- Yahoo et MSN chutent en février 2009 aux US, selon comScore - 14-03-2009
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

