Hier een vraagje over htaccess ,

Wat ik graag wil is de directory blokkeren waar mijn include bestanden staan /include
In deze directory staan meerdere bestanden die via Ajax opgeroepen worden , nu wil ik dat de bezoeker doorverwezen wordt naar index in de root directory als ze naar de url www.mijndomein.nl/include gaan

Weet iemand hoe ik dit doe met htaccess

Voor de duidelijkheid het moet nog wel toegankelijk blijven voor Ajax requests ,

Ik wil graag hetzelfde voor de directory /scripts waar verschillende JavaScript bestanden staan

Alvast bedankt voor eventuele reacties
Maar moet ik dan alle files die in deze directory staan apart opgeven met filematch , of kan ik ook heel deze directory blokkeren ?
Nee je kunt in ieder geval niet heel de directory blokkeren. Er zijn twee mogelijkheden: bestanden blokkeren die aan een bepaalde match voldoen (bijv. alle bestanden die beginnen met 'include_') of je moet inderdaad alle bestandsnamen apart opgeven.
Kun je niet met een .htaccess iets doen met Deny for all ?
Zo is mij vanmiddag namelijk wel verteld, in deze post

Dan sluit je de hele map af, en als iemand dan naar (een bestand in) de map wil gaan, krijgt deze persoon een 403 (unauthorized access) error te zien.
@ frank oke bedankt , dan moet ik denk ik alle bestand namen aanpassen dat ze beginnen met include_ ,
@kevin met deny for all worden deze bestanden ook geblokkeerd voor Ajax requests dus dit is helaas geen optie
Beveiligen met sessies?
Hoe kan ik een directory beveiligen met sessies ?
Ik wil namelijk dat niemand naar deze directory kan gaan ook niet als er een sessie actief is
Bij de bron aanpakken, de bestanden beveiligen met een sessie!
Vraag 1)

Kun je de map met include bestanden niet in een privé-map zetten (dus een niveau hoger dan de document root)?

Vraag 2)

Of beter gezegd tip 2...

Zet gewoon een index.php bestand in de map "include" met als inhoud:

<?php
header('Location: http://www.mijnwebsite.nl/';);
exit;
?>
Een map beveiligen is zo gedaan met een index.php file.

De scripts zelf beveiligen is een ander verhaal. Deze worden door het client-side AJAX opgevraagd, hierdoor is het plaatsen ervan buiten de webroot geen oplossing.

Reageren