Fiche technique
Poids : 400 g
ISBN : 978-2-212-14039-2
EAN : 9782212140392
Quatrième de couverture
Sécurité et injections SQL
En PHP il faut « échapper » les variables provenant des utilisateurs avec mysqli_real_escape_string qui remplace les caractères pouvant être pris pour des caractères spéciaux SQL. La connexion doit d'abord être établie pour pouvoir l'utiliser : if (isset ($_POST [' prenom']) (...) ;
$ prenom = mysqli_real_escape_string ($_POST ['prenom']) ;
mysqli_query (« INSERT INTO inscrits (prenom) VALUES ('$prenom' ») ;
Les prepared statements permettent dans différents langages de s'affranchir de cette précaution, avec les commandes prepare et execute.
Précautions à prendre ! 1. Vérifier, valider, échapper les données entrées par l'utilisateur. 2. Bloquer toute donnée pouvant contenir un mot-clé SQL interdit. 3. Ne définir que des autorisations d'accès minimales par utilisateur MySQL (à l'aide de GRANT). 4. Utiliser des procédures stockées et des requpetes paramétrées.
Variables serveur
En PHP, les variables serveur sont définies en priorité par les commandes passées en argument au démarrage du serveur mysqld et dans les fichiers de configuration : /etc/mysql/my ;cnf ou etc/my.cnf sous Linux et C :\Windows\my.ini ou C :\my.cnf sous Windows. Pour en voir la liste : Show variables ;
Remarque Certaines de ces variables sont modifiables dynamiquement durant l'exécution grâce à l'instruction Set global pour l'ensemble du serveur, ou Set session pour la session courante uniquement : Set global query_cache_limit=1048576 ;