Services webmasters
Partenaires
Jeux concours gratuits
 
Options de démarrage qui concernent la sécurité
<<<
Problèmes de sécurité avec LOAD DATA LOCAL Rôle du système de privilèges
>>>

4.2 Règles de sécurité et droits d'accès au serveur MySQL
4 Administration du serveur
 Manuel de Référence MySQL 4.1 : Version Française

Instructions générales de sécurité
Comment protéger MySQL contre les pirates
Options de démarrage qui concernent la sécurité
->Problèmes de sécurité avec LOAD DATA LOCAL
Rôle du système de privilèges
Comment fonctionne le système de droits
Droits fournis par MySQL
Se connecter au serveur MySQL
Contrôle d'accès, étape 1 : Vérification de la connexion
Contrôle d'accès, étape 2 : Vérification de la requête
Causes des erreurs Access denied

4.2.4 Problèmes de sécurité avec LOAD DATA LOCAL

Depuis MySQL 3.23.49 et MySQL 4.0.2, nous avons ajouté de nouvelles options pour traiter les problèmes de sécurité liés à LOAD DATA LOCAL .

Il existe deux problèmes particuliers pour le support de cette commande :

Comme la lecture du fichier est réalisée depuis le serveur, il est possible théoriquement de créer un serveur MySQL patché qui pourrait lire n'importe quel fichier sur la machine cliente, qui serait accessible à l'utilisateur.

Dans un environnement web, où les clients se connectent depuis un serveur web, un utilisateur peut se servir de la commande LOAD DATA LOCAL pour lire les fichiers qui sont sur le serveur web, et auquel ce dernier a accès (en supposant qu'un utilisateur peut exécuter n'importe quelle commande sur le serveur).

Il y a deux protections distinctes pour ces problèmes :

Si vous ne configurez pas MySQL avec l'option --enable-local-infile , alors LOAD DATA LOCAL sera désactivé par tous les clients, à moins que l'option mysql_options(... MYSQL_OPT_LOCAL_INFILE, 0) soit activée dans le client. mysql_options() .

Pour le client en ligne de commande mysql , LOAD DATA LOCAL peut être activé en spécifiant l'option --local-infile[=1] , ou désactivé avec --local-infile=0 .

Par défaut, tous les clients MySQL et les librairies sont compilés avec --enable-local-infile , pour être compatible avec MySQL 3.23.48 plus ancien.

Vous pouvez désactiver toutes les commandes LOAD DATA LOCAL du serveur MySQL en démarrant mysqld avec --local-infile=0 .

Au cas où LOAD DATA LOCAL INFILE est désactivé sur le serveur ou le client, vous obtiendrez le message d'erreur (1148) :

The used command is not allowed with this MySQL version

<< Problèmes de sécurité avec LOAD DATA LOCAL >>
Options de démarrage qui concernent la sécurité Règles de sécurité et droits d'accès au serveur MySQL Rôle du système de privilèges
Services webmasters
Les manuels
 
CoursPHP.com - Reproduction interdite -