Kan PHP in XAMPP per ongeluk bestanden buiten /htdocs verwijderen?
Dit staat dus geïnstalleerd op een laptop, die ik gebruik voor alles. Hier staan dus ook belangrijke documenten op enzovoort.
Standaard is de webroot C:\xampp\htdocs. Hierin "draait" mijn PHP project.
Nu heb ik op datzelfde apparaat ook een map die verder niets met XAMPP te maken heeft, bijvoorbeeld: "C:\Documents\Belangrijk"
Stel dat ik een PHP script schrijf dat iets met bestanden doet. Ik schrijf bijvoorbeeld een script dat een nieuwe file maakt, en het pad (in mijn script) waar ik die file laat opslaan door PHP is per ongeluk "C:\Documents\Belangrijk\notities.txt". Nu blijkt dat de file die ik met PHP maak, dezelfde naam heeft als een bestaande file op die locatie in die belangrijke map, en dat een bestaande file hierdoor is overschreven en voorgoed verloren is.
Kan dat gebeuren? Of is XAMPP geïsoleerd en kan PHP niets doen buiten de C:\xampp\htdocs map?
Waar het me dus om gaat, is dat als ik iets fout doe met PHP dat bijvoorbeeld bestanden kan aantasten, dat dit niet ten koste gaat van alle gegevens/documenten buiten XAMPP. Dat er iets in mijn PHP project fout gaat (bijvoorbeeld PHP verwijdert/overschrijft een bestand in het project zelf, dus in C:\xampp\htdocs) dan maakt me dat niet zo veel uit.
Dus stel...
Code (php)
1
2
3
4
5
2
3
4
5
<?php
// In mijn PHP project dat in XAMPP draait op mijn laptop.
// Waarom je zoiets zou doen is een andere vraag... Maar om een extreem voorbeeld te geven:
rmdir('C\Documents\Belangrijk');
?>
// In mijn PHP project dat in XAMPP draait op mijn laptop.
// Waarom je zoiets zou doen is een andere vraag... Maar om een extreem voorbeeld te geven:
rmdir('C\Documents\Belangrijk');
?>
Wat gebeurt er dan?
Gewijzigd op 02/11/2023 17:01:58 door Mark Hogeveen
Hoe staat je open_basedir ingesteld?
Zonder voorzorgmaatregelen is het ant woord: Ja dat kan
Quote:
Hoe staat je open_basedir ingesteld?
Ik weet niet wat open_basedir is.
Ik heb touwens ook VirtualBox (virtual machine) op dat apparaat geïnstalleerd staan. Misschien kan ik beter daarin XAMPP installeren. Dan weet ik zeker dat alles gescheiden blijft, toch?
Gewijzigd op 02/11/2023 19:46:15 door Mark Hogeveen
Verder is XAMPP niet bedoeld voor productie en webhosting-doeleinden.
Gewijzigd op 02/11/2023 20:30:00 door - Ariën -
- Ariën - op 02/11/2023 20:27:38:
Waarom zou je dat doen? [...]
Logisch toch? Behalve open_basedir is er geen kennis over alle instellingen van PHP, en dat is ook niet zo gek want het is eenvoudiger om je belastingaangifte te doen.
Een VM is wel zo makkelijk, ook vanwege beheer. Je kunt makkelijk een backup terugzetten als je iets fout denkt te hebben gedaan.
- Kijk naar de open-basedir instelling in phpinfo() en stel die eventuele in in php.ini (en reboot de apache)
- Test het eens uit met een testbestand op je C: schijf of kijk eens of je er met scandir() zover kan komen, als je het niet aandurft om iets te verwijderen.
- En daarnaast vraag ik mij af waarom je er nog bang voor moet zijn als het je eigen set-up is. het is niet de bedoeling om jan-en-alleman op XAMPP te hosten. Daar is het niet voor gemaakt. Heel Windows in de basis zelfs niet. Met Linux kan je de rechten verfijnd instellen waarbij je zelfs met een niet ingestelde open-basedir niet verder komt buiten je eigen directory.
Gewijzigd op 02/11/2023 21:10:47 door - Ariën -