Door
Onbekende gebruiker
op 19-03-2006 16:45
gewijzigd op 20-03-2006 14:25
1.557 views
Mijn .htaccess ziet er zo uit:
# +---------------------------------------------------------
# | The Triads Website .htaccess bestand
# | Gemaakt door Sebazzz
# | =============================================
# | Web: triads.buildtolearn.net
# | Email: [email protected]
# | Licensie: -
# | Datum: Zondag 19 Maart 2006, 11:58
# +--------------------------------------------------------
#----------------------------------------------------------
# PHP even zeggen wat hij mag parsen
#----------------------------------------------------------
AddType application/x-httpd-php .asp .aspx .cfm
AddHandler application/x-httpd-php .asp .aspx .cfm
#----------------------------------------------------------
# Wat zijn de index bestanden?
#----------------------------------------------------------
DirectoryIndex index.html index.php index.asp index.aspx index.cfm
#----------------------------------------------------------
# Error documenten
#----------------------------------------------------------
ErrorDocument 400 /index.asp?act=error&error=400
ErrorDocument 401 /index.asp?act=error&error=401
ErrorDocument 403 /index.asp?act=error&error=403
ErrorDocument 404 /index.asp?act=error&error=404
ErrorDocument 500 /index.asp?act=error&error=500
#----------------------------------------------------------
# .htaccess bestanden beveiligen
#----------------------------------------------------------
<Files .htaccess>
order allow,deny
deny from all
</Files>
En dan gaat nu goed, maar zodra ik het volgende erbij doet dan stopt ie ermee:
#----------------------------------------------------------
# Mappen beveiligen
#-----------------------------------------------------------
<Directory /sources/>
Order Deny,Allow
Deny from All
</Directory>
<Directory /templates/>
Order Deny,Allow
Deny from All
</Directory>
<Directory /cron/>
Order Deny,Allow
Deny from All
</Directory>
Dat puntje van Jip moet je vergeten, want daarmee introduceer je een hoop ellende ;-)
Verder: Je verwijst naar Directory /sources. Houd er rekening mee dat dat de /sources van je besturingssysteem is en niet de /sources van je webroot.
Als je wilt verwijzen naar je webroot, moet je Location gebruiken:
<Location "/sources/">
Order deny, allow
Allow from localhost
Allow from sebastiaan.nl
</Location>
En dat brengt me bij het volgende punt: Je hebt in je access rules "deny from all" staan. Dat is precies wat het zegt ;-) Waarschijnlijk wil je er nog wel zelf bij kunnen. Dat zou je bijvoorbeeld op bovenstaande manier kunnen regelen, door aan te geven dat iedereen van de localhost of van het domein sebastiaan.nl wel in die locatie mag kijken.
Overigens hoef je geen Location directive te gebruiken. Het kan ook met de Directory directive, maar dan moet je wel het volledige pad opgeven:
Willem vp schreef op 19.03.2006 22:33
Verder: Je verwijst naar Directory /sources. Houd er rekening mee dat dat de /sources van je besturingssysteem is en niet de /sources van je webroot.
Dit is niet altijd waar. Ikzelf draai Apache in een jail en dan kan je niet buiten dat gedeelte komen.
Dit is niet altijd waar. Ikzelf draai Apache in een jail en dan kan je niet buiten dat gedeelte komen.
Ook dan is het nog steeds de root van je besturingssysteem, al is die dan toevallig gelijk aan je webroot ;-)
?
Onbekende gebruiker
20-03-2006 13:57
#----------------------------------------------------------
# Mappen beveiligen
#-----------------------------------------------------------
<Location "/sources/">
Order deny, allow
Allow from localhost
Allow from buildtolearn.net
</Location>
<Location "/templates/">
Order deny, allow
Allow from localhost
Allow from buildtolearn.net
</Location>
<Location "/cron/">
Order deny, allow
Allow from localhost
Allow from buildtolearn.net
</Location>
Oké. Dit heb heb ik nu.
Maar weer de interne server error.
Is het misschien een betere optie om in iedere map die ik wil beveiligen een apart htaccess zet met het volgende?
# +--------------------------------------------------------
# | The Triads Website .htaccess bestand
# | Gemaakt door Sebazzz
# | =============================================
# | Web: triads.buildtolearn.net
# | Email: [email protected]
# | Licensie: -
# | Datum: Zondag 19 Maart 2006, 11:58
# +--------------------------------------------------------
#----------------------------------------------------------
# Geen toegang tot deze map!
#----------------------------------------------------------
Order allow,deny
Deny from all
Je zou alles in aparte .htaccess-bestanden kunnen zetten, maar dat is symptoombestrijding. Als je de settings in je httpd.conf doet is dat ten eerste (zij het verwaarloosbaar) sneller, maar je voorkomt vooral dat je per ongeluk je .htaccess wist en daarmee je security ongedaan maakt.
Kun je eens een "apachectl configtest" doen om te kijken of die een fout kan vinden in je httpd.conf?
EDIT: Laat maar. Ik zit net nog eens het hele topic door te lezen, en het valt me nu pas op dat je in je .htaccess zit te wroeten.
De Directory en Location directives kunnen niet gebruikt worden in een .htaccess. Dat zou ook geen nut hebben, omdat een .htaccess alleen effect heeft op de huidige directory. Je moet de directives dus opnemen in je httpd.conf wil je er enig nut van hebben. Dat verklaart ook de server error ;-)
Als je de toegang in je .htaccess wilt regelen, kun je gewoon allow en deny gebruiken:
Order deny, allow
Deny from all
Allow from localhost
?
Onbekende gebruiker
20-03-2006 16:59
Kan dat op de host? Ik host niet zelf namelijk ;-)