IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Dates] Comparaison de date entre deux IP (anti-flood)


Sujet :

Langage PHP

  1. #61
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    pardon, PmyA == PhpMyAdmin

    l'enregistrement, l'enregistrement... mais le commentateur n'est pas tout seul à écrire un commentaire sur l'article quand même !

  2. #62
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Points : 472
    Points
    472
    Par défaut
    Bah non, mais de toute façon je sélectionne toutes les IP qui datent de moins de 30 secondes.
    Bon
    Je les compare avec l'IP actuel.
    Bon
    Si y'en a une ça inscrit "attends".
    Bon
    Si y'en a pas ça devrait inscrire "bon" (et dans la pratique insérer dans la BD).
    Bon

    Mais là le "bon" ne s'affiche pas , seulement le "attends".
    Pas bon.

    J'ai foiré quoi ? la logique, la syntaxe ? Je suis entrain de regarder les comparatifs d'égalité dans les requetes sql.

  3. #63
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    C'est vrai qu'à ce niveau on est pas obligé de parler performances, mais il est quand meme plus sage de donné le boulot à mysql, il est fait pour ça.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT ip
    FROM commentaire
    WHERE ip = $ip
       AND date > $dateNv
    Du coup tu n'as plus qu'à tester une chose : le nombre de ligne retournées.

    si 0 => le posteur n'a pas posté de commentaires
    sinon => le posteur a posté un commentaire il y a moins de 30 secondes

    Je trouve ce raisonnement plus naturel et surtout plus simple non ?

  4. #64
    Membre averti
    Avatar de Julien.alkaza
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 239
    Points : 363
    Points
    363
    Par défaut
    SELECT ip FROM commentaire WHERE dateNombre > '".$dateNv."' LIMIT 0,1 "
    Moi je propose ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT ip FROM commentaire WHERE  dateNombre > '".$dateNv."' AND ip = $ip
    GGRRRIIILLLEEEDDD

  5. #65
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Points : 472
    Points
    472
    Par défaut
    Oui mais ça ne change pas grand chose vos requêtes, il me semble (modestement).

    Vous rajoutez juste un comparatif d'égalité entre IP. Bon mais là c'est pas la question on a juste une IP dans la table pour le test et il faut que si elle date de plus de 30 secondes, s'affiche "bon".

    Mais ça s'affiche même pas.

  6. #66
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Points : 472
    Points
    472
    Par défaut
    Y'a de quoi se jeter quand même, c'est pas compliqué d'écrire un mot si il n'y a pas d'enregistrement correspondant à un SELECT.

  7. #67
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $ip     = $_SERVER["REMOTE_ADDR"]
    $dateNv = time()-30;
    $sql    = "SELECT ip
    FROM commentaire
    WHERE ip = $ip
       AND date > $dateNv";
     
    $req = mysql_query($sql) or die (mysql_error());
    if (mysql_num_rows($req) > 0) {
      echo "Flooder !";
    } else {
      echo "C'est bon !";
    }

  8. #68
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Points : 472
    Points
    472
    Par défaut
    Ah ouais,
    Mais en fait je le savais, c'était pour vérifier le niveau du forum.

    Qu'est ce que vous avez à me regarder comme ça ?

    C'est vrai hein !



    Bon blague à part, à force de faire que des whiles pour récupérer les résultats, je ne me souvenais même plus que l'on pouvait faire autre chose.
    mysql_num_rows, on s'en sert pour quoi en général ?

    Autre question, pour situer les niveaux, vous programmez depuis combien de temps? Avec quels niveaux ? En tant qu'amateurs ou professionnels ?

    Merci en tout cas (5 heure pour ça, je vais allez me raser moi...)

  9. #69
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Points : 472
    Points
    472
    Par défaut
    Bon je marque [Résolu],

    Encore merci les gars !

  10. #70
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Citation Envoyé par psychoBob
    Ah ouais,
    Mais en fait je le savais, c'était pour vérifier le niveau du forum.
    Verdict ?
    Citation Envoyé par psychoBob
    mysql_num_rows, on s'en sert pour quoi en général ?
    alors si je fais un explode de la chaine "mysql_num_rows" sur le caractères '_', j'obtients trois bout :
    1. mysql
    2. num
    3. rows

    en français dans le texte je dirais au pif :
    1. mysql
    2. nombre
    3. lignes

    toutes les fonctions propres à mysql commencent par... mysql donc le premier bout c'est bon. Ensuite c'est un peu plus dur pour les deux autres, je propose "nombre de lignes" ?
    Oui mais nombre de lignes de quoi tu vas me dire...
    Et bien le nombre de ligne du resultat de la requete que tu passe en argument pardi.

    Je pense que http://php.net/mysql_num_rows sera plus pédagogue que moi

  11. #71
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Points : 472
    Points
    472
    Par défaut
    Réponse très claire !

    Pour ce qui est du verdict, ma foi, on peut pas se plaindre, vous m'avez fait languir un peu, mais c'est le résultat qui compte

  12. #72
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Ben j'ai essaye de ne pas te donner le code tout fait dès le début, il n'y a rien de telle que la reflexion personnelle...

  13. #73
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Points : 472
    Points
    472
    Par défaut
    Oui j'avais compris, merci

    Le stress c'est que l'on ne sait pas si à la fin, tu vas le donner le code...


    TIens j'en profites avec une dernière question : Un intervale de 30 secondes est-il convenable ou bien puis-je indiquer 10 sec par exemple?
    Aussi est-il prudent d'indiquer "veuillez patienter x sec avant de poster à nouveau ?"

  14. #74
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Citation Envoyé par psychoBob
    Le stress c'est que l'on ne sait pas si à la fin, tu vas le donner le code...
    Ben l'idéal, c'est quand même qu'on n'ai pas à le donner ce code, que tu trouves toi même la solution. C'est pourquoi cette résolution est un echec pour moi, j'ai été mauvais professeur... Je m'en vais en vacances le coeur las et les pensées tournées vers le petit papa nouel et les préparatifs qui m'appellent.



    Un intervale de 30 secondes est-il convenable ou bien puis-je indiquer 10 sec par exemple?
    Aussi est-il prudent d'indiquer "veuillez patienter x sec avant de poster à nouveau ?"
    Je ne sais pas, je n'ai malheureusement que peut de notions en ergonomie

  15. #75
    Membre averti
    Avatar de Julien.alkaza
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 239
    Points : 363
    Points
    363
    Par défaut
    Citation Envoyé par psychoBob
    Oui mais ça ne change pas grand chose vos requêtes, il me semble (modestement).

    Vous rajoutez juste un comparatif d'égalité entre IP. Bon mais là c'est pas la question on a juste une IP dans la table pour le test et il faut que si elle date de plus de 30 secondes, s'affiche "bon".

    Mais ça s'affiche même pas.

    Y'a de quoi se jeter quand même, c'est pas compliqué d'écrire un mot si il n'y a pas d'enregistrement correspondant à un SELECT.
    T'as raison, va te raser, manger un bout, dormir et faire tout ce que tu peux pour te rafraichier les idées....

    On te file la requete complète et encore, tu rales!!

    Non mais sans blague, meeeeeeeeeeerrrrrddddddeeee.....

  16. #76
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Points : 472
    Points
    472
    Par défaut
    Ben l'idéal, c'est quand même qu'on n'ai pas à le donner ce code, que tu trouves toi même la solution. C'est pourquoi cette résolution est un echec pour moi, j'ai été mauvais professeur... Je m'en vais en vacances le coeur las et les pensées tournées vers le petit papa nouel et les préparatifs qui m'appellent.
    Et bien le sens de la communication étant dans la réponse qu'elle déclenche, je dois être un mauvais élève.

    Un intervale de 30 secondes est-il convenable ou bien puis-je indiquer 10 sec par exemple?
    Aussi est-il prudent d'indiquer "veuillez patienter x sec avant de poster à nouveau ?"

    Je ne sais pas, je n'ai malheureusement que peut de notions en ergonomie
    Je me penchais du côté du flooder en fait? Quel interval est suffisant pour le gêner?

  17. #77
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    2 jours...
    Tout dépend de ce que tu appelles "flooder"

  18. #78
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Points : 472
    Points
    472
    Par défaut
    Julien.alkaza a écrit :
    T'as raison, va te raser, manger un bout, dormir et faire tout ce que tu peux pour te rafraichier les idées....

    On te file la requete complète et encore, tu rales!!

    Non mais sans blague, meeeeeeeeeeerrrrrddddddeeee.....
    Toi si Mr N avait pas trouvé la solution, tu aurais posté ça sans les deux smileys avec le sourire.
    Non ?

  19. #79
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Points : 472
    Points
    472
    Par défaut
    2 jours...
    Tout dépend de ce que tu appelles "flooder"
    Je pensais au script qui vous remplit la base de donnée de je ne sais trop combien de tuples à la minute.

    Par exemple sur ce forum, l'intervale semble être assez court, quelques secondes.

  20. #80
    Membre averti
    Avatar de Julien.alkaza
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 239
    Points : 363
    Points
    363
    Par défaut
    Lol.....

    Oh, c'est être médisant que de dire ca.... hummmmm
    Puis les deux petits sont ensuite désamorcés par les

    Bref, problème résolu, lol....

+ Répondre à la discussion
Cette discussion est résolue.
Page 4 sur 4 PremièrePremière 1234

Discussions similaires

  1. [Date] calcul de jours entre deux dates
    Par skyangel dans le forum Général Java
    Réponses: 5
    Dernier message: 05/03/2008, 15h59
  2. [Dates] Nombres de jours entre deux dates ?
    Par Metallic-84s dans le forum Langage
    Réponses: 2
    Dernier message: 20/02/2007, 17h14
  3. [Dates] nombre de mois entre deux dates
    Par Mat_DZ dans le forum Langage
    Réponses: 14
    Dernier message: 23/11/2006, 16h10
  4. [Dates] Nombre jours ouvrés entre deux dates
    Par Yali dans le forum Langage
    Réponses: 4
    Dernier message: 28/12/2005, 12h05
  5. [Dates] Nombre de jours entre deux dates
    Par cmoiscrat dans le forum Langage
    Réponses: 3
    Dernier message: 22/09/2005, 15h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo