From 5047b91a47787ba86a01135e3a537777079652ee Mon Sep 17 00:00:00 2001 From: Nahuel Angelinetti Date: Sat, 8 Jul 2006 10:11:49 +0000 Subject: [PATCH] =?UTF-8?q?correction=20pour=20meilleure=20lecture(=20il?= =?UTF-8?q?=20manquait=20un=20retour=20ligne=20)=20et=20on=20empeche=20la?= =?UTF-8?q?=20suppression=20d'un=20fichier=20hors=20de=20la=20zone=20perso?= =?UTF-8?q?=20en=20v=C3=A9rifiant=20que=20le=20fichier=20qu'on=20essaye=20?= =?UTF-8?q?de=20supprime=20est=20bien=20dans=20le=20repertoire=20personnel?= =?UTF-8?q?=20de=20l'utilisateur=20Il=20faut=20maintenant=20tester=20See:?= =?UTF-8?q?=20#692?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bureau/class/m_bro.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/bureau/class/m_bro.php b/bureau/class/m_bro.php index e8256a7d..a0a24bbc 100644 --- a/bureau/class/m_bro.php +++ b/bureau/class/m_bro.php @@ -90,7 +90,8 @@ class m_bro { // Sauvegarde du chemin de base. $root_alternc = $root ; // Passage du root en chemin réel (différent avec un lien) - $root=realpath($root) ; $dir=realpath($root."/".$dir); + $root=realpath($root) ; + $dir=realpath($root."/".$dir); if (substr($dir,0,strlen($root))!=$root) { return false; @@ -293,9 +294,10 @@ class m_bro { * @return boolean TRUE si les fichiers ont été effacés, FALSE si une erreur s'est produite. */ function DeleteFile($file_list,$R) { - global $err; + global $err, $mem; + $root=realpath("/var/alternc/html/".substr($mem->user["login"],0,1)."/".$mem->user["login"]); $absolute=$this->convertabsolute($R,0); - if (!$absolute) { + if (!$absolute && strpos($root,$absolute) === 0 && strlen($absolute) > (strlen($root)+1) ) { $err->raise("bro",1); return false; }