Bonjour,
Je viens de me rendre compte que j'ai été victime d'un spam de base de données. En gros, on injectait tout un tas d'enregistrement dans une de mes tables depuis un script exterieur....
Je précise que je suis sur un serveur MySQL 4.1 (chez Free)
Je dois donc sécuriser un peu mieux tout cela et je me décide donc a mettre en place toute une batterie de test....
Un de ces test consiste a regarder avant enregistrement si l'utilisateur ne serait pas en train de spammer ma base en comptant le nombre d'enregistrement inséré depuis les x dernieres secondes dans la table.
J'ai donc une table "comments" qui possede un champ "created" (date d'enregistrement du commentaire), et 'owner_id' (le user du membre).
Je me doute que je dois comparer ce champ a la date actuelle et compter le nombre d'neregistrement...
Seulement je ne vois pas du tout comment m'y prendre pour cette comparaison...
Si je souhaite remonter le nombre d'enregistrements qui ont moins de 60 secondes, je sais que ma requete commencerais par :
Pour le moment je n'ai que des plantages de requete....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT count(id) FROM comments WHERE ???
Si vous connaissez également une page compilant les bonnes pratiques pour éviter ce genre de désagrement...
En vous remerciant par avance
@+
cadou
Partager