Code antiinjection
Posté : 29 juil. 2014, 09:37
Bonjour,
Voici du code antiinjection SQL qui marche.
et empêcher de faire ça sur tous les champs de mon formulaire.
Je souhaiterais que ces mêmes mots en majuscules soient aussi reconnus comme "mauvais".
Je peux écrire le code suivant, mais c'est vraiment trop long:
et d'autres champs de saisie, donc comme vous le voyez, avec mon code
demain on y est encore...
J'ai l'impression qu'il faut utiliser un array mais je ne sais pas
comment faire.
Est-ce que quelqu'un pourrait 1) m'aider à simplifier mon code?
Egalement, je souhaiterais empêcher toute intrusion de SQL
par le champs de la barre d'adresse du navigateur.
Pourriez-vous aussi m'aider 2) à faire cela?
Je n'ai aucune idée comment faire cela.
Voici du code antiinjection SQL qui marche.
$nomutilisateur=$_POST['nomutilisateur'];
$motdepasse=$_POST['motdepasse'];
$motif1 = '/select/';
if (!preg_match($motif1, $nomutilisateur)){
} else {
die();
}
Je souhaiterais pouvoir emêcher l'insertion d'autres mots du langage SQL comme le mot delete par exemple,et empêcher de faire ça sur tous les champs de mon formulaire.
Je souhaiterais que ces mêmes mots en majuscules soient aussi reconnus comme "mauvais".
Je peux écrire le code suivant, mais c'est vraiment trop long:
$nomutilisateur=$_POST['nomutilisateur'];
$motdepasse=$_POST['motdepasse'];
$motif1 = '/select/';
if (!preg_match($motif1, $nomutilisateur)){
} else {
die();
}
$nomutilisateur=$_POST['nomutilisateur'];
$motdepasse=$_POST['motdepasse'];
$motif2 = '/delete/';
if (!preg_match($motif2, $nomutilisateur)){
} else {
die();
}
$nomutilisateur=$_POST['nomutilisateur'];
$motdepasse=$_POST['motdepasse'];
$motif1 = '/select/';
if (!preg_match($motif1, $motdepasse)){
} else {
die();
}
$nomutilisateur=$_POST['nomutilisateur'];
$motdepasse=$_POST['motdepasse'];
$motif2 = '/delete/';
if (!preg_match($motif2, $motdepasse)){
} else {
die();
}
$nomutilisateur=$_POST['nomutilisateur'];
$motdepasse=$_POST['motdepasse'];
$motif1 = '/SELECT/';
if (!preg_match($motif1, $nomutilisateur)){
} else {
die();
}
$nomutilisateur=$_POST['nomutilisateur'];
$motdepasse=$_POST['motdepasse'];
$motif2 = '/DELETE/';
if (!preg_match($motif2, $nomutilisateur)){
} else {
die();
}
$nomutilisateur=$_POST['nomutilisateur'];
$motdepasse=$_POST['motdepasse'];
$motif1 = '/SELECT/';
if (!preg_match($motif1, $motdepasse)){
} else {
die();
}
$nomutilisateur=$_POST['nomutilisateur'];
$motdepasse=$_POST['motdepasse'];
$motif2 = '/DELETE/';
if (!preg_match($motif2, $motdepasse)){
} else {
die();
}
Il y a en plus bien sûr plein d'autres mots du langage SQL que j'aimerais localiseret d'autres champs de saisie, donc comme vous le voyez, avec mon code
demain on y est encore...
J'ai l'impression qu'il faut utiliser un array mais je ne sais pas
comment faire.
Est-ce que quelqu'un pourrait 1) m'aider à simplifier mon code?
Egalement, je souhaiterais empêcher toute intrusion de SQL
par le champs de la barre d'adresse du navigateur.
Pourriez-vous aussi m'aider 2) à faire cela?
Je n'ai aucune idée comment faire cela.