Есть основная директория, в которой разрешено передвигаться пользователям где угодно. Но выше залезть нельзя. Нужно защитить это программным путем.
Скажем, имеем базовый путь
$base = \'/www/home/path/dir/\';
а путь внутри этого каталога приходит к нам вот так
$path = $_GET[\'path\'];
нужно сделать так, чтобы при написании
?path=../юзер не смог попасть выше базовой директории.
а также надо оставлять юзеру "красивые" пути. То есть, если он пройдется сначала в папку
dir1, потом
dir2, затем вверх
../ и в папку
dir3, снова наверх
../ ТО путь должен быть
$path = \'dir1/\';
а не
$path = \'dir1/dir2/../dir3/../\';
вот в общем-то и все
интересно, кто как решит...