Archief - Q: directory afschermen

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Gitan

Legacy Member
Hallo,

Ik zou voor enkele directories op mijn webruimte (betaalde hosting, Apache webserver) het volgende willen bereiken: als een persoon via zijn browser die directory wil bekijken (dus: www.domein.tld/directory) moet er een melding komen in de zin van "Access denied" (Is dat een 403?). Hetzelfde moet uiteraard gebeuren voor bestanden in die directory (gesteld dat iemand de naam van een bestand uit die directory zou kennen).
Kan ik dat regelen m.b.v. permissies? Of kan ik dat beter doen in .htaccess?
I.v.m. dit laatste had ik al het volgende op hoehel gevonden:
Code:
IgnoreIndex */*
maar later had ik dan gelezen dat dit eigenlijk een verkeerd gebruik van IgnoreIndex is. En waarschijnlijk krijg ik dan ook geen "Access denied" (moet het nog proberen).

Bestaat er echt geen voor de hand liggende manier om Apache wijs te maken dat een directory en zijn inhoud niet toegankelijk mogen zijn vanuit een browser?

Radiance

Legacy Member
Dit in een .htaccess zetten & uploaden in dezelfde directory :
Code:
Deny from all
ErrorDocument 403 /errorpages/403.htm

Eerste regel blokkeert vanzelfsprekend alle inkomende requests, genereert dus een 403 error, met de 2e regel kan je dat dan eventueel netjes opvangen met een custom errordoc.

Xavez : dat voorkomt niet dat iemand die de exacte naam weet het bestand alsnog opent.
Nuja, als je toch heelder directories wil afschermen ben je beter dat je die buiten je document root plaats (dus boven uw public_html directory of wat dan ook), maarja da's niet altijd mogelijk op shared hosting natuurlijk.

Xavez

Legacy Member
I know Radiance, het hangt er maar van af wat hij juist nodig heeft natuurlijk :)

Radiance

Legacy Member
Gitan zei:
Hetzelfde moet uiteraard gebeuren voor bestanden in die directory (gesteld dat iemand de naam van een bestand uit die directory zou kennen).
Dat kon je weten :p

Gitan

Legacy Member
Bedankt voor de antwoorden.

Een lege index.html plaatsen is inderdaad geen optie.

'k Was nog iets vergeten vermelden: de (voor de buitenwereld) afgeschermde directory moet wel nog toegankelijk zijn voor de server. Daarmee bedoel ik: als er in die directory afbeeldingen staan, moeten die wel nog met img-tags ingevoegd kunnen worden. Is dat dan nog mogelijk met 'Deny from all'?

Maar misschien is het gewoon eenvoudiger om de af te schermen directory buiten de public directory te zetten (wat wel degelijk mogelijk is bij mijn hosting).

Gitan

Legacy Member
even replyen op mezelf:

Na 'Deny from all' kan ik mss. nog 'Allow from [server-IP]' toevoegen?

Radiance

Legacy Member
Je hebt het concept van het HTTP protocol / webservers dan wat verkeerd begrepen denk ik, als er images in uw pagina's staan dan is het nog steeds de bezoeker (zijn browser) die de request doet om ze te zien, niet uw server. Allow from serverIP zal ze dus niet toegankelijk maken.

Wat je zoekt is een "anti-leech script", maar persoonlijk vind ik dat idiote dingen, is uw werk echt zo populair dat mensen zich gaan bezig houden met direct linking ernaar ?

Gitan

Legacy Member
Radiance zei:
Je hebt het concept van het HTTP protocol / webservers dan wat verkeerd begrepen denk ik, als er images in uw pagina's staan dan is het nog steeds de bezoeker (zijn browser) die de request doet om ze te zien, niet uw server. Allow from serverIP zal ze dus niet toegankelijk maken.

Wat je zoekt is een "anti-leech script", maar persoonlijk vind ik dat idiote dingen, is uw werk echt zo populair dat mensen zich gaan bezig houden met direct linking ernaar ?

Damn!
't Is niet zozeer het direct linken dat ik wil tegengaan, maar wel het lezen van bestanden die gevoelige informatie bevatten.
Bijvoorbeeld:

Code:
mysql_connect($host, $user, $password);

$host, $user en $password zet ik in een apart bestand dat ingevoegd wordt in het php-script.

Deze informatie in een directory buiten public_html plaatsen zal dan de enige mogelijkheid zijn zeker?

Radiance

Legacy Member
Jamaar dat zijn nu weer wel bestanden die door uw webserver gelezen worden (nuja eigenlijk door de PHP compiler) en niet rechtstreeks door gebruikers worden ingelezen. Alles wat serverside gebeurd, dus includen van uw configuratiebestanden in PHP kan je wel volledig afsluiten met "deny from all". Dat heeft geen invloed op de uitvoering van uw script, al is buiten de document root evengoed, zoniet beter.

dJeez

Legacy Member
Voor de veiligheid zet je dergelijke informatie inderdaad beter buiten de DocumentRoot (de basisfolder) van je website (elke zichzelf respecterende hosting provider voorziet daar trouwens een folder voor). Het voordeel is dat je ze dan helemaal niet moet afschermen, aangezien je er met een browser nooit rechtstreeks aan kan en ze dus eigenlijk sowieso al afgeschermd zijn.

Gitan

Legacy Member
Ewel, kijk zie, 'k heb alles buiten de public_html dir gezet.
Probleem opgelost!
Merci voor de antwoorden
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan