Les « includes » et les « require » de PHP
Vous êtes peut-être déjà tombés sur le problème suivant : lorsque l’on utilise un include, le caractère « null » coupe l’inclusion du fichier.
Avez-vous déjà utilisé les includes et les require de PHP ?
Si oui, vous êtes peut-être déjà tombés sur le problème suivant : lorsque l’on utilise un include, le caractère « null » coupe l’inclusion du fichier.
Le problème est principalement posé lors de l’inclusion dynamique d’un fichier. Imaginez un simple sur le site example.com :
include $_GET['file'];
Il suffit d’utiliser l’URL http://example.com/?file=.htaccess%00 pour accéder au contenu du fichier .htaccess, et éventuellement bien pire !
Pour résoudre le problème ? Vérifier que le fichier inclus est bien un fichier que l’on autorise à l’inclusion, avec éventuellement un tableau des fichiers autorisés, tester que le fichier est bien un fichier PHP (et donc que le contenu sera interprété), et toute autre vérification, qui bien entendu ne sera pas superflue.
Mais évidement, vous faites déjà les vérifications nécessaires 😉