есть такой скрипт на php:
<?php
if(!isset($_GET["path"]))
{
$_GET["path"] = "/";
}
$active_path = realpath($_GET["path"]);
if(is_file($active_path))
{
header("Content-type: data/data");
header("Content-Length: ".filesize($active_path));
header("Content-Disposition: attachment; filename=".basename($active_path));
readfile($active_path);
}
else
{
if ($handle = opendir($active_path))
{
while (false !== ($object_list[] = readdir($handle)));
sort($object_list);
$object_count = count($object_list);
if($object_count > 0)
{
for($i = 0; $i < $object_count; $i++)
{
if(is_dir($active_path."/".$object_list[$i]))
{
$dir_list[] = $object_list[$i];
}
else
{
$file_list[] = $object_list[$i];
}
}
$file_count = count($file_list);
$dir_count = count($dir_list);
print("Папка <b>$active_path</b> - $object_count обьектов ($dir_count папок, $file_count файлов)<br><br>");
if($dir_count > 0)
{
for($i = 0; $i < $dir_count; $i++)
{
print("<a href='data.php?path=".$active_path."/".$dir_list[$i]."'><b>[".$dir_list[$i]."]</b></a><br>");
}
}
if($file_count > 0)
{
for($i = 0; $i < $file_count; $i++)
{
print("<a href='data.php?path=".$active_path."/".$file_list[$i]."'>".$file_list[$i]."</a><br>");
}
}
}
else
{
print("Папка пуста");
}
closedir($handle);
}
else
{
print("Ошибка открытия папки $active_path");
}
}
?>
Дело в том что я делаю вебхостинг
и при запуске етого скрипта юзер получает доступ к корню /
Т е у него есть доступ ко всем директориям
Как запретит доступ к корню при таком способе взлома?
Поищи по сайту apache chroot
>Поищи по сайту apache chrootпри запуске в чруте юзерам всеравно доступно много инфы доступ к которой не желательный для них
Однозначно нужна идентификация/аутентификация пользователей, и в зависемости от ИД у каждого пользователя должна быть своя корневая директория.
>Как запретит доступ к корню при таком способе взлома?
safe_mode + suphp
>>Как запретит доступ к корню при таком способе взлома?
>safe_mode + suphpOpenBasedir настроить надо было