Comparer deux IP dans le temps

WRInaute impliqué
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.
 
WRInaute occasionnel
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.
 
WRInaute impliqué
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.
 
WRInaute occasionnel
Et pourquoi pas utiliser le jour ? :wink:

Comme ca si il a posté dans la journée la requete de retourne pas de resultat !

Mais utilise aussi un cookie :wink:
 
WRInaute impliqué
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é ;-)
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut