Kan PHP in XAMPP per ongeluk bestanden buiten /htdocs verwijderen?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Mark Hogeveen

Mark Hogeveen

02/11/2023 16:57:08
Quote Anchor link
Ik heb XAMPP geïnstalleerd om te spelen met PHP en MySQL.
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)
PHP script in nieuw venster Selecteer het PHP script
1
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');
?>

Wat gebeurt er dan?
Gewijzigd op 02/11/2023 17:01:58 door Mark Hogeveen
 
PHP hulp

PHP hulp

22/07/2024 22:02:49
 
- Ariën  -
Beheerder

- Ariën -

02/11/2023 17:36:27
Quote Anchor link
Hoe staat je open_basedir ingesteld?
 
- SanThe -

- SanThe -

02/11/2023 17:38:38
Quote Anchor link
Zonder voorzorgmaatregelen is het ant woord: Ja dat kan
 
Mark Hogeveen

Mark Hogeveen

02/11/2023 19:45:08
Quote Anchor link
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
 
- Ariën  -
Beheerder

- Ariën -

02/11/2023 20:27:38
Quote Anchor link
Waarom zou je dat doen? Stel gewoon je open basedir goed in. En als je Linux hebt de rechten. Check je phpinfo() eens.

Verder is XAMPP niet bedoeld voor productie en webhosting-doeleinden.
Gewijzigd op 02/11/2023 20:30:00 door - Ariën -
 
Ad Fundum

Ad Fundum

02/11/2023 21:03:18
Quote Anchor link
- 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.
 
- Ariën  -
Beheerder

- Ariën -

02/11/2023 21:09:58
Quote Anchor link
Het kan wel, maar naar mijn idee is een virtuele machine voor dit overbodig.

- 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 -
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.