[TYPO3-UG Dutch] Webmappen beveiligen (404 error code) (apache vraagje?)

Loek Hilgersom hilgersom at xs4all.nl
Sat Apr 4 13:49:34 CEST 2009


Dag Marijn,

Volgens mij mag deze vraag hier wel. Strict genomen gaat het over Apache, maar 
het is wel essentiele stof om TYPO3 te begrijpen.

Voor het begrip: de bestanden op de server worden op 2 verschillende manieren 
benaderd. De (php) scripts op de server benaderen de bestanden direct via het 
bestandsysteem, bezoekers benaderen de bestanden via Apache. Toegang via het 
bestandsysteem reguleer je met rechten (met CHMOD en CHOWN), toegang via Apache 
reguleer je via je virtual host configuratie en/of .htaccess bestand.

Jouw aanpak via het rechtensysteem is daarom niet de goede oplossing omdat jouw 
vraag over toegang voor bezoekers gaat en dus in eerste instantie via Apache 
moet worden geregeld.

Als ik het goed begrijp moet je gewoon de directory listing uitschakelen zodat 
http://www.domain.com/fileadmin/muziek  niet langer een lijst met alle bestanden 
oplevert. Dat realiseer je door een .htaccess bestand in de betreffende 
directories te plaatsen met deze regel:

Options -Indexes

Eigenlijk moet je je provider vragen dat standaard uit te schakelen omdat het 
een behoorlijk beveiligingsrisico in houdt als dat aan blijft staan. Als dat 
niet gaat kun je die htaccess het best in de root van je website plaatsen.

Voor de duidelijkheid: nu zien bezoekers niet meer de directory index, maar ze 
kunnen nog wel de bestanden ophalen als ze de exacte bestandsnaam weten. Als dat 
ook niet mag kun je bepaalde directories een htaccess plaatsen met deze tekst:

deny from all

Dan is er geen toegang meer mogelijk via Apache, maar de PHP scripts van TYPO3 
kunnen er nog wel bij. Dat verklaart ook waarom jouw html-template nog wel wordt 
gezien maar de CSS niet: het html template wordt door TYPO3 gelezen en geparsed 
en wordt niet direct door Apache benaderd. De CSS wordt door de browser 
opgehaald, en dus via Apache benaderd, en die geeft dus geen toegang meer tot 
het bestand.

Genoeg uitleg denk ik, ik hoop dat je er hier mee uitkomt.

Groeten,
Loek


Marijn Depraetere wrote:
> Dag list,
> 
> Ik ben niet 100% zeker dat deze post in deze lijst hoort, dus vergeef me 
> mij onwetendheid...
> 
> T3: 4.2.3
> 
> Shared LAMP omgeving met php 5
> 
> Ik heb een volgende folderstructuur:
> 
> /fileadmin/templates
> /fileadmin/afbeeldingen
> /fileadmin/muziek
> 
> Zoals de naam al aangeeft bevat de naam /templates mijn verschillende 
> templates.  De map /muziek bevat een deel muziek die gebruikt wordt door 
> een flash-muziekspeler.
> 
> PROBLEEM:
> Ik wil de mappen /fileadmin/templates en /fileadmin/muziek zo instellen 
> dat deze niet te bekijken vallen door het "algemene publiek".  Nu staat 
> alles op de APACHE-basisinstellingen, en zijn alle mappen dus gewoon 
> navigeerbaar als ze rechtsreeks in de browser worden benaderd.
> 
> WAT IK REEDS GEPROBEERD HEB:
> CHMOD beide mappen naar 0644, wat dus eigenlijk het probleem oplost. Het 
> probleem hiermee is dat ook TYPO3 niet meer in de map kan, waardoor wel 
> mijn template HTML, maar niet mijn CSS-files ingeladen kunnen worden.  
> (De CSS files worden in de template gebracht via @import)  Het resultaat 
> is dus een css-loze variant van mijn website in de frontend.
> 
> Het werkt wel terug met CHMOD 0757, maar da's dan terug algemeen 
> toegankelijk voor alle publiek.
> 
> WAT IK OOK GEPROBEERD HEB:
> Ik maakte een .htaccess aan in de bovenliggende folder (/fileadmin/) met 
> een simpele RedirectMatch 404 voor beide mappen.
> 
> Bijvoorbeeld:
> 
> RedirectMatch 404 /\\templates(/$)
> RedirectMatch 404 /\\muziek(/$)
> 
> Ook dit werkt goed, maar terug kan de CSS-file in mijn template niet 
> gevonden worden.  Het vreemde is wél dat de HTML van mijn template, die 
> in dezelfde map staat, wél gevonden wordt.  De enige verklaring die ik 
> hiervoor heb is dat TYPO3 waarschijnlijk een eigen versie opslaat van 
> die template-file via TemplaVoila! en dus haalt hij de info uit zijn 
> cache?  Zo benaderd hij, voor dat stukje alvast, de desbetreffende map 
> niet en kan hij toch nog iets tonen.
> 
> VRAAGSTELLING:
> Heeft iemand ervaring hiermee?  Hoe kan ik webmappen "sluiten" voor het 
> algemene publiek maar TYPO3 nog altijd toelaten om de map te lezen en 
> gebruikers van typo3 nog altijd toelaten om bestanden aan te 
> passen/wissen/toevoegen/uit te voeren/... ?
> 
> De enige andere oplossing die ik zie is om in elke map een 
> index.html-file te plaatsen met een korte boodschap, maar dit is
> A) Arbeidsintensief
> B) Zo-ie-zo niet veilig, want de submappen in die map moeten dan ook 
> allemaal een index.html krijgen...
> 
> Alvast bedankt voor de moeite om dit te lezen!
> 
> Met vriendelijke groeten,
> Marijn Depraetere


More information about the TYPO3-UG-dutch mailing list