Je travaille sur un script pour permettre aux utilisateurs de naviguer dans un répertoire donné, qui n'est pas le répertoire dans lequel ce fichier est installé, mais dans une variable.répertoriant un contenu de dossier: comment empêcher l'utilisateur d'aller au-dessus du répertoire autorisé?
define('FOLDER', '../_files/');
Maintenant, le html rendu permet de naviguer dans les sous-dossiers à l'intérieur de ce dossier. J'utilise une variable GET "dir" pour dire à mon script quel contenu du sous-dossier afficher et un lien ".." permettant d'aller vers le haut, en utilisant la même variable dir.
J'ai mis une vérification que si $ _GET ['dir'] est égal à FOLDER, il ne devrait pas afficher ce lien "..". Mais il est assez facile de jouer avec cette variable dans l'url et où que je fasse, mon script permet de naviguer au-dessus du dossier autorisé. Donc, je pense que je devrais vérifier le chemin local complet du répertoire autorisé par rapport au répertoire demandé et si ce dernier n'est pas dans le répertoire autorisé, ne pas afficher le ".." .
Mais je ne sais pas comment faire ça. Tous les conseils ou pointeur seraient appréciés. Merci
Même si le titre ne donne pas loin, cela est essentiellement la même question que http://stackoverflow.com/questions/1066930/sending-variables- for-php-filesystem-functions-with-form-submission/ – deceze
Oui, problème/solution similaire. –