Mieux sécuriser l'inclusion de fichier lorsqu'un chemin peut ne pas être sûr.
Décrivez votre astuce en détail. N'hésitez-pas à inclure des portions de codes.
Il arrive souvent que l'ont veuille recevoir des chemins ou un nom de fichier par POST ou GET.
Comme vous le savez surement déjà il est fortement déconseillé de faire un "include($_POST['path']);" ou un "echo file_get_contents($_POST['path']);"
En effet ce 'path' peut être bidouillé par un internaute en quelque chose du genre: '../../../etc/passwd' ce qui provoque un réel problème de sécurité...
Pour pallier a cela, j'ai créé une petite fonction qui permet de vérifier que le fichier à inclure est bien dans un chemin définit:
Vous serez dans ce cas certain que le chemin reçu en $_POST pointe effectivement vers un fichier situé dans /var/www/monsite/include ou vers ses sous-répertoire.
Cela peut aussi être aussi utile pour le redimenssionnement d'images à la volée avec GD ou le chemin vers l'image est transmis à un script ex: resize.php?i=photos/test.jpg.