Bestanden in directory weergeven
Koen Bokern
06/07/2007 17:20:00Beste mede-forumleden.
Ik ben bezig met een soort verkenner te maken. Met behulp van file_exists en new DirectoryIterator('./');. Hierbij heb ik twee problemen. Een probleem dat betrekking heeft op veiligheid, en een ander probleem wat betrekking heeft op het gebruik.
Probleem 1:
Ik wil de verkenner dusdanig maken zodat je met enkel een bestand, alle bestaande folders kan verkennen. Het gebruikte bestand heet index.php. Ik doe dit met behulp van $_GET['p'];. De url ziet er dan zo uit: index.php?p=/htdocs/map.
Wat gebeurd er nu als ik de volgende url gebruik?:
index.php?p=/../../../home/koen/Desktop
Juist! Je kan alle bestanden zien die ik op mijn bereaublad heb. Gelukkig maar dat je de bestanden niet kan bekijken en/of koppieeren.
Hoe kan ik dit eventueel beter beveiligen tegen dit soort dingen?
Vraag 2:
Als de url nu index.php?p=/htdocs/kaas, dan wordt de url die behoort bij de koppeling .. index.php?p=/htdocs/kaas/... Wanneer ik hierop klik, dan wordt de locatie htdocs. Op deze manier wordt de url langer, en ;anger, en dus onoverzichterlijker.
Ik wil dus eventueel met preg_replace de url rewriten. Dus:
Voor: index.php?p=htdocs/kaas
Koppeling: ..
Na: index.php?p=hdocs/kaas/..
Dit moet worden:
Voor: index.php?p=/htdocs/kaas
Koppeling: ..
Na: index.php?p=/hdocs
---
Het script is te vinden op:
http://83.86.183.185/
Uit veiligheid heb ik het aangepast dat je tijdelijk $_GET['p'] niet meer kan gebruiken.
Ik hoop zo duidelijk genoeg te zijn geweest, en dat iemand of meerdere iemanden me kunnen helpen.
Met vriendelijke groet,
Vlerk
Ik ben bezig met een soort verkenner te maken. Met behulp van file_exists en new DirectoryIterator('./');. Hierbij heb ik twee problemen. Een probleem dat betrekking heeft op veiligheid, en een ander probleem wat betrekking heeft op het gebruik.
Probleem 1:
Ik wil de verkenner dusdanig maken zodat je met enkel een bestand, alle bestaande folders kan verkennen. Het gebruikte bestand heet index.php. Ik doe dit met behulp van $_GET['p'];. De url ziet er dan zo uit: index.php?p=/htdocs/map.
Wat gebeurd er nu als ik de volgende url gebruik?:
index.php?p=/../../../home/koen/Desktop
Juist! Je kan alle bestanden zien die ik op mijn bereaublad heb. Gelukkig maar dat je de bestanden niet kan bekijken en/of koppieeren.
Hoe kan ik dit eventueel beter beveiligen tegen dit soort dingen?
Vraag 2:
Als de url nu index.php?p=/htdocs/kaas, dan wordt de url die behoort bij de koppeling .. index.php?p=/htdocs/kaas/... Wanneer ik hierop klik, dan wordt de locatie htdocs. Op deze manier wordt de url langer, en ;anger, en dus onoverzichterlijker.
Ik wil dus eventueel met preg_replace de url rewriten. Dus:
Voor: index.php?p=htdocs/kaas
Koppeling: ..
Na: index.php?p=hdocs/kaas/..
Dit moet worden:
Voor: index.php?p=/htdocs/kaas
Koppeling: ..
Na: index.php?p=/hdocs
---
Het script is te vinden op:
http://83.86.183.185/
Edit:
Wegens onze goede vrienden van Casema internet van 0,01KB per minuut. Daarom tap ik af van de buren waardoor de server down is.
http://nn-tutorials.nl/Bestanden/
http://nn-tutorials.nl/Bestanden/
Uit veiligheid heb ik het aangepast dat je tijdelijk $_GET['p'] niet meer kan gebruiken.
Ik hoop zo duidelijk genoeg te zijn geweest, en dat iemand of meerdere iemanden me kunnen helpen.
Met vriendelijke groet,
Vlerk
Gewijzigd op 01/01/1970 01:00:00 door Koen Bokern
Er zijn nog geen reacties op dit bericht.