Sécurisation requêtes SQL
Posté : 14 août 2010, 11:49
Salut,
Bon, je connais comment sécuriser de base mes données, à savoir, contrôler que la variables envoyé correspond à ce que j'attend, utiliser htmlentities avant l'affichage, mysql(i)_real_escape_string avant insertion dans bdd, etc...
ma question porte sur la sécurisation de données insérés dans une requête.
Cas n°1 :
Cas n°2 :
Cas n°3 :
Comment sécuriser cette seconde requête au cas ou mon Achamp2 a été trafiqué ?
Je peux contrôler ce que j'attends de Achamp2, voir utiliser htmlentitie sur Achamp2.
Mais est-ce tout ?
Cas n°4 :
Avec jointure
Merci
Bon, je connais comment sécuriser de base mes données, à savoir, contrôler que la variables envoyé correspond à ce que j'attend, utiliser htmlentities avant l'affichage, mysql(i)_real_escape_string avant insertion dans bdd, etc...
ma question porte sur la sécurisation de données insérés dans une requête.
Cas n°1 :
Là, pas de soucis, je pense.Je récupère $var en $_GET ou $_POST.
Je contrôle qu'elle correspond à mon attente, exemple (-azAZ)
Je fais ma requête SELECT Achamp1 FROM MaTable WHERE Achamp2 = $var
Cas n°2 :
Là, pas de soucis non plus, je pense.Je récupère $var en $_GET ou $_POST.
Je ne peut contrôler à quoi elle correspond, vu que tous les caractères sont autorisés.
Je fais ma requête SELECT Achamp1 FROM MaTable WHERE Achamp2 = htmlentitie($var, enquote...)
Cas n°3 :
Pour x raisons, je n'utilise pas les jointures.Je fais ma requête SELECT Achamp1, Achamp2 FROM MaTable LIMIT 0,1
De là découle une seconde requête SELECT Bchamp1 FROM MaTable2 WHERE Bchamp2 = Achamp2
Comment sécuriser cette seconde requête au cas ou mon Achamp2 a été trafiqué ?
Je peux contrôler ce que j'attends de Achamp2, voir utiliser htmlentitie sur Achamp2.
Mais est-ce tout ?
Cas n°4 :
Avec jointure
Comment protéger cette requête au cas ou l'on est pas sur de Achamp2 ?Je fais ma requête SELECT Achamp1, Bchamp1 FROM MaTable JOIN MaTable2 ON Achamp2 = Bchamp2 LIMIT 0,1
Merci