Versio

Folders/bestanden

Overzicht Reageren

Ruliezz liezz

Ruliezz liezz

02/07/2010 00:11:34
Quote Anchor link
Hee allemaal,

Voor mijn kerkgemeente ben ik een sync. script aan maken zodat het leden bestand kan worden uitgelezen en weg geschreven naar een database.

Nu moet je voor fopen (die function gebruik ik) de rechten van de folder en file aanpassen naar ieder geval mod 775.

maar stel je weet de naam van het bestand en de folder dan zou je via de brouwser het volgende kunnen doen. www.adresvansite.nl/map/bestand.txt en je kunt alles lezen in het bestand.

Dat mag natuurlijk niet, want dit is gevoelige informatie.
Hoe kun je het dan wel openzetten voor PHP maar niet voor de buitenwereld?

Bedankt alvast voor je uitleg!
 
PHP hulp

PHP hulp

24/05/2012 16:30:53
Gesponsorde koppelingen:
 
Mark PHP

Mark PHP

02/07/2010 00:51:32
Quote Anchor link
Bestanden die niet -direct- in de browser aangeroepen mogen worden moeten altijd buiten de webroot (dit is meestal de www/public_html map) geplaatst worden.
Gewijzigd op 02/07/2010 00:51:53 door Mark PHP
 
Dalando De Zuil

Dalando De Zuil

02/07/2010 09:01:13
Quote Anchor link
Wat je ook kan doen, is het gewoon in een (mysql) database stoppen, en dan goed beveiliigen.
Maar als je nog geen database heb, lijkt het mij overbodig. zoniet, zet het dan in een DB, en als het echt moet kun je het laten aanroepen door php. Ik neem aan dat je weet hoe dat moet, zoniet kijk dan even naar mysql_real_escape_string, en deze tut. succes!
 
Tobias Tobias

Tobias Tobias

02/07/2010 09:40:58
Quote Anchor link
Of je gebruikt Ekklesia, een handig software-pakket. Heeft nu dacht ik ook een on-line-functie
 
Johan Dam

Johan Dam

02/07/2010 09:48:54
Quote Anchor link
met .htaccess kan je directories beveiligen en dat mensen dus niets kunnen zien in www.adresvansite.nl/map/

PHP negeert dat echter en kan er dus gewoon bij.
 
Ruliezz liezz

Ruliezz liezz

03/07/2010 22:59:56
Quote Anchor link
@mark van Seventer kan je dus een map aanroepen buiten de www data map dmv php?
@Johan Dam, handige tip! Zal eens kijken!
 
Joren de Wit
Beheerder

Joren de Wit

03/07/2010 23:04:58
Quote Anchor link
Jazeker, je kunt met PHP gewoon bij mappen die buiten de webroot liggen. Met ../ in het pad kun je 1 niveau omhoog en kun je dus overal uitkomen (zo lang je maar rechten hebt op opgevraagde mappen).

De .htaccess oplossing vind ik minder geslaagd, zorg er gewoon voor dat gebruikers niet weten waar die bestanden staan door ze buiten de webroot te plaatsen. Krijg je ook geen vervelende foutmeldingen als gebruikers die bepaalde map wel proberen te openen...
 
Ruliezz liezz

Ruliezz liezz

30/07/2010 13:20:16
Quote Anchor link
Het heeft even stil gelegen ivm de vakantie, maar ben er nu weer mee bezig gegaan. Ik heb een map aangemaakt buiten mijn www map, maar toch kan ik hem niet benaderen ondanks de rechten en owner op de ftp user.
 
John D

John D

30/07/2010 13:23:49
Quote Anchor link
Het is wel belangrijk dat de apache deamon (het webserver proces dat in feite php uitvoert) ook rechten heeft op die map. Meestal user: apache. Je kan het in ieder geval uittesten door even alle rechten rw-rw-rw op die map te geven.
Gewijzigd op 30/07/2010 13:24:20 door John D
 
Johan Dam

Johan Dam

30/07/2010 13:35:21
Quote Anchor link
rechten rw-rw-rw of 777, af hangend wat je gebruikt,

Waar bevind het bestand zich en waar het script?

als je het bestand naast je public_html hebt en het script erin, dan moet je het aanroepen in php met ../bestand.txt, zit het script in een andere map die weer in public_html bevind, dan is het ../../bestand.txt,
bevind de bestand zich in een map naast de public html, dan is het ../../map/bestand.txt.
 
John D

John D

30/07/2010 14:29:45
Quote Anchor link
777=rwxrwxrwx (x=uitvoerbaar wil je liever niet).
666=rw-rw-rw
Gewijzigd op 30/07/2010 14:31:31 door John D
 
Karl Karl

Karl Karl

30/07/2010 14:41:34
Quote Anchor link
John D op 30/07/2010 13:23:49:
Het is wel belangrijk dat de apache deamon (het webserver proces dat in feite php uitvoert) ook rechten heeft op die map. Meestal user: apache. Je kan het in ieder geval uittesten door even alle rechten rw-rw-rw op die map te geven.

Dat de gebruiker apache is wil je liever niet bij shared hosting. Dat zou betekenen dat iedereen jou bestanden kan uitlezen (want iedereen zou apache zijn). IMHO zou de apache onder dezelfde user draaien als waarmee ingelogd wordt op ftp. Want dan is een chmod als:

John D op 30/07/2010 14:29:45:
777=rwxrwxrwx (x=uitvoerbaar wil je liever niet).
666=rw-rw-rw

Helemaal niet nodig. Dan kan gewoon 600 gebruikt worden (lees en schrijven voor owner), de group zou hoogstens nog lezen mogen, dus 640, maar dat lijkt mij ook niet echt nodig dan.
In principe zou other niet je bestanden hoeven uit te lezen, of te schrijven, of execute. Dus kan die gewoon 0 blijven per definitie.
 
John D

John D

30/07/2010 14:52:21
Quote Anchor link
Helemaal niet nodig is een nogal algemeen oordeel, het is niet overal hetzelfde. De ene hoster is de andere niet en elke hoster vind dat zijn manier de juiste is...
Zal sterk afhankelijk zijn van de hoster. Als ik bij een van de hosters bestanden ftp naar de website met de ftp user dan ben ik een andere user dan apache en of dat de centrale apache is of een virtuele apache cq "mijn" apache weetikniet maar ik moet in ieder geval rw-rw---- op de bestanden zetten.
Gewijzigd op 30/07/2010 14:54:57 door John D
 
Karl Karl

Karl Karl

30/07/2010 15:11:31
Quote Anchor link
John D op 30/07/2010 14:52:21:
Helemaal niet nodig is een nogal algemeen oordeel, het is niet overal hetzelfde. De ene hoster is de andere niet en elke hoster vind dat zijn manier de juiste is...
Zal sterk afhankelijk zijn van de hoster. Als ik bij een van de hosters bestanden ftp naar de website met de ftp user dan ben ik een andere user dan apache en of dat de centrale apache is of een virtuele apache cq "mijn" apache weetikniet maar ik moet in ieder geval rw-rw---- op de bestanden zetten.

Je leest het nu waarschijnlijk als een nieuwe zin (want ik heb ook een hoofdletter geplaatst). Het is eigenlijk als doorlopen de zin bedoelt.
Dat is dus een beetje jammer dat iedere hoster het anders doet. Ik heb bijvoorbeeld wel eens een hosting gehackt, waar weliswaar apache onder de juiste gebruiker draaide (voor iedere website een aparte user), maar dat iedereen wel in dezelfde group zat (kan ik me op zich ook wel wat bij voorstellen) en alle bestanden dus met lees en schrijf rechten voor user en group (zoals bij jouw). Doordat de jail niet goed ingesteld stond kon ik gewoon bij iedereen z'n bestanden uitlezen. Dat is toch niet de bedoeling??
 



Overzicht Reageren

Get Adobe Flash player