Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Listowanie w dół
decha-design
post 19.09.2008, 14:46:43
Post #1





Grupa: Zarejestrowani
Postów: 415
Pomógł: 46
Dołączył: 26.05.2007
Skąd: Sandomierz

Ostrzeżenie: (0%)
-----


Witam,

Mam serwer na apache, dokładnie to serwer szkolny, ale to nie istotne. Napisałem sobie prościutki plik do listowania katalogu i zrobiłem (przypadkiem) błąd w ścieżce:

  1. <?php
  2.  
  3. $dir = '/';
  4.  
  5. if($_GET['file']) {
  6.  
  7.    include $_GET['file'];
  8.  
  9.    $handle = fopen($_GET['file'], 'a+');
  10.  
  11.    fread($handle, 1024);
  12.  
  13. } else {
  14.  
  15.    $handle = opendir($dir);
  16.  
  17.    while (($file = readdir($handle)) !== false) {
  18.        echo "pl: $fil: t: " . filetype($dir . $file) . "<br /><br />";
  19.    }
  20.    closedir($handle);
  21.  
  22. }
  23.  
  24. ?>


Czyli jest po prostu slash ... i to owocuje ty, że mogę wylistować całą zawartość komputera na którym stoi serwer. I teraz moje pytanie, jak to zabezpieczyć, aby dostęp był tylko do serwera roota, domyślnie C:\Program Files\WebServ\httpd-users\ i C:\Program Files\WebServ\httpd\ ?

Bo niestety ja nic złego nie zrobie, ale osoba chociaż troche znająca się na php napisze to samo co ja, doda unlink bądz rmdir i po sprawie .. czy chociażby na zasadzie fread, otworzy z parametrem r+ i wyczyści jakiś plik i serwer szlag trafi ...

Pozdrawiam
Decha


Edit

Dobra, nie ważne już. Zapomniałem o basedir ...

w php.ini ustawić open_basedir i śmiga tylko na np. Z:\Server

Ten post edytował decha-design 19.09.2008, 15:00:17


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 17:17