|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre actif
![]() Développeur Web Inscription : avril 2007 Messages : 357 ![]() |
Hello, je suis en train de créer une petite fonction perso pour supprimer certains mots-clés SQL , voici ce que j'ai actuellement :
Code :
$string = eregi_replace("[^:alpha:](select)|(drop)|(update)|(alter)|(create)|(insert)|(grant)|(revoke)[^:alpha:]", "", $string); Code :
Code :
[toto] => selection; * from users * from users; [tot2o] => table toto; py ! [tot2o3] => * on users; grannt Il manque pas grand chose mais le mot clé "DROP" pose probleme là, vous voyez d'où ça peut venir? merci.
__________________
L'intelligence c'est comme la confiture, moins tu en as , plus tu l'étales... |
||
|
|
00
|
|
|
#2 | |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 18 075 ![]() |
C'est destiné à quoi au juste ?
Parce que si c'est pour protéger tes bases, ce n'est pas la bonne façon de procéder... Citation:
![]() Utilise les marqueurs de début et de fin de mot : \b.
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
|
00
|
|
|
#3 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 16 466 ![]() |
Je ne vois effectivement pas ce qui ne va pas dans ton expression (à part eregi qui est obsolète) mais sinon :
Code :
echo preg_replace("#\b(select|drop|update|alter|create|insert|grant|revoke)\b#", "", $string); |
|
|
00
|
|
|
#4 |
|
Membre actif
![]() Développeur Web Inscription : avril 2007 Messages : 357 ![]() |
Hello, merci pour vos réponses,
donc deja non, c'est pas pour sécuriser ma base, mais plus un complément. Le but étant de supprimer uniquement les mots clés, et non les mots contenant ces mots-clés: droppy => ne bouge pas. drop * from toto => * from toto; EDIT: avec ton pattern ca passe nickel Sabotage, merci, par contre faut rajouter \i à la fin pour une expression insensitive de tête non?
__________________
L'intelligence c'est comme la confiture, moins tu en as , plus tu l'étales... |
|
|
00
|
|
|
#5 |
|
Membre actif
![]() Développeur Web Inscription : avril 2007 Messages : 357 ![]() |
Voici l'expression finale, qui fonctionne nickel :
Code :
$string = preg_replace("/\b(select|drop|update|alter|create|insert|grant|revoke)\b/i", "", $string); merci à vous deux.
__________________
L'intelligence c'est comme la confiture, moins tu en as , plus tu l'étales... |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com