Envoyé par
valkirys
La sécurité est l'affaire de tous (tout le monde doit se sentir concerné) mais doit être laissé aux développeurs chevronnés et non au Webmasters
Drôle de préambule, hiérarchie quand tu nous tient !
Dire un truc et son contraire dans la phrase qui suit a sans doute des vertus politiques mais en matière de sécurité, j'appellerai ça une faille ou même un fjörd.
Le webmaster est un développeur php, javascript ou html ?
Je retiens que c'est l'affaire de tous donc des webmasters en première ligne! Les attaques par injection sont relativement faciles à sécuriser par l'intermédiaire d'une petite routine de gestion de quotes qui doit être utilisée systématiquement , l'usage des quotes en dur doit être proscrit. L'ideal est de forcer l'utilisation de requètes paramétrées, je reconnais que c'est parfois très lourd. On peut cependant rendre obligatoire l'usage du '?' dans les insert et update issus de forms éditables par l'utilisateur.
Las ! Le (très) vieux LAMP ignore tout du SQL paramétré, on dit que Postgre l'autorise. Bonne raison pour se débarrasser de MySql , cependant pour ceux qui resteront avec ce jouet toute leur vie , ils doivent savoir que :
$query="SELECT * FROM table where title='$name'";
est un aspirateur à hacker, c'est un peu comme publier le mot de passe ftp sur facebook en demandant de ne pas le répéter...
Cette syntaxe est alors nécessaire :
$query="SELECT * FROM table where title="+sqlQuote($name);
N'hésitez pas à ajouter autant de concaténations que nécessaire. Seul un bout de code executé peut régler sérieusement ce problème. La petite facilité qu'offre PHP de déployer les strings en mettant leur nom dans une autre est à proscrire définitivement , plus jamais ....
La sécurité bouleverse votre sainte hiérarchie et la divise en deux parties : ceux dont le job est d'être le plus paranoïaque possible, et ceux qui appliquent les règles de sécurité. Les deux parties d'un cerveau sont équipées de nerfs qui transmettent l'info : il en va de même pour l'équipe web qui doit savoir parler sans s'exclure . D'où la perversion de votre commentaire.
Partager