[php] filemanager restricten

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • bunneh
  • Registratie: Januari 2003
  • Laatst online: 15:43
hoi,

ik heb dus een filemanager in php gemaakt

daarmee kan je dus door het hele filesystem heen browsen, gelukkig kan je niks deleten ofzo dankzij de rechten

maar is er een manier om dit te restricten , dat je niet verder kan dan een bepaalde dir

kan ik dit in httpd.conf of php.ini aanpassen ??

alvast bedankt

Acties:
  • 0 Henk 'm!

Verwijderd

.modbreak: dit soort suggestieve opmerkingen doe je maar op een ander forum, maar iig niet hier :{

[ Voor 76% gewijzigd door .oisyn op 24-04-2003 13:54 ]


Acties:
  • 0 Henk 'm!

  • BRAINLESS01
  • Registratie: April 2003
  • Laatst online: 12-09 09:30
tja wat je zou kunnen doen is je directory vergelijken met getcwd()

als je directory niet begint met getcwd() dan ben je blijkbaar buiten de home directory van het script aan het browsen :)

Acties:
  • 0 Henk 'm!

Verwijderd

je kan kijken hoeveel subdirectories toegestaan zijn en dat met
PHP:
1
2
3
4
5
6
7
8
9
10
<?
$dirs = count(explode("/", $PHP_SELF))-2;
// de -2:
// -1 omdat hij er standaard 1 van maakt ipv 0 (waarom - :?)
// de andere -1 van het bestand
if ($dirs>$limit) { /* hier stoppen */ }
else { 
   // de rest
}
?>

Acties:
  • 0 Henk 'm!

  • SWfreak
  • Registratie: Juni 2001
  • Niet online
Volgens mij kun je met de open_basedir setting in php.ini de dirs restricten waaruit PHP kan lezen. Dit is misschien wat overkill omdat het alle PHP scripts beinvloed, maar het is wel makkelijk
Een script oplossing is een array maken met alle toegestane directories. Nu gewoon checken of de directory waar de gebruiker heen wil deel uit maakt van deze array (of een superstring is van een directory in de array). Je zou dit eigenlijk pro-actief moeten checken, zodat de gebruiker in de listing nooit niet toegestane directories te zien krijgt...

Acties:
  • 0 Henk 'm!

  • Steije
  • Registratie: Juni 2000
  • Laatst online: 14-09 16:19
Voor in je Apache-config:

code:
1
2
3
4
5
<Directory /bla/die/bla>
    ...
    php_admin_value open_basedir "/bla/die/bla"
    ...
</Directory>


Daarmee restrict je PHP tot het alleen kunnen browsen (en schrijven etc) in /bla/die/bla en dieper.

[ Voor 40% gewijzigd door Steije op 24-04-2003 17:38 ]

Some people manage by the book, even though they don't know who wrote the book or even what book.


Acties:
  • 0 Henk 'm!

  • bunneh
  • Registratie: Januari 2003
  • Laatst online: 15:43
bedankt allemaal, ik ga hiermee aan de slag
Pagina: 1