Aller au contenu

sécurisation via htaccess


Sujets conseillés

Bonjour,

Je souhaite sécuriser un site via différents htaccess configuré selon les besoins dans le répertoire racine et ses sous-répertoires.

Tout se déroule mais je bloque sur un point.

Je souhaite que dans le répertoire racine, le visiteur ne puisse appeler que la page d'index.

Pour ce, j'ai placé dans le htaccess racine:

Order deny,allow

Deny from all

<Files "index.php">

Order deny,allow

Allow from all

</Files>

donc, un appel http://monsite/rep/index.php fonctionne très bien et un appel http://monsite/rep/autreFichier.php est refusé ce qui est l'effet recherché.

Par contre, ce qui ne va plus avec ce htaccess, la redirection automatique sur le fichier index de la racine, autrement dit:

l'appel http://monsite/rep ne pointe plus sur le fichier index.php

J'ai essayé ce qui suit:

RewriteEngine on

redirect / /index.php => retourne une erreur 500

DirectoryIndex index.php => sans effet

J'ai également essayé un redirectPermanent sans succès.

Quelqu'un aurait-il une information lumineuse ?

Merci pour votre collaboration.

Lien vers le commentaire
Partager sur d’autres sites

Sur la requête sur le nom de répertoire seul, le serveur va normalement chercher en premier index.html puis index.htm puis index.php (cela peut dépendre de la configuration serveur toutefois, mais en général c'est ça).

Comme ton index.html est interdit, cela ne marche pas. C'est normal...

Donc j'autoriserais index.html et index.htm au même titre que index.php.

Cela devrait régler le problème.

Lien vers le commentaire
Partager sur d’autres sites

Merci Remi pour ta réponse.

En réalité, si je supprime htaccess à la racine, le serveur trouve sans problème index.php après appel du seul répertoire => probablement configuré dans httpd.conf.

Le fait d'ajouter le htaccess (du moins comme je l'ai configuré) supprime ce pointage automatique malgré mes essais de surcharge (directoryIndex, ...)

Lien vers le commentaire
Partager sur d’autres sites

Bon, j'ai voulu expliquer le principe mais je n'ai pas été assez direct. :P

Voici la version courte :

Remplace

<Files "index.php">

par

<FilesMatch "index\.(php|htm|html)$">

:cool:

Lien vers le commentaire
Partager sur d’autres sites

Ben oui mais j'aime bien comprendre le principe de fonctionnement des choses, donc j'explique.

mais bon...

Tiens j'ai fait un petit oubli (pas bien grave) :

C'est

<FilesMatch "^index\.(php|htm|html)$">

(il y a un circonflexe au début de 'index'.

Tel que je l'avais écrit, un éventuel fichier totoindex.php ou titiindex.php serait autorisé aussi

On ne sait jamais...)

:blush:

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines plus tard...

Remi,

A ne plus rien y comprendre...il me semblait que cela fonctionnait mais, en réalité, non...

Voici mon dernier htaccess

Order deny,allow

Deny from all

<FilesMatch "^index\.(html|htm|php)$">

Order deny,allow

Allow from all

</FilesMatch>

Si j'autorise à nouveau tous les fichiers, l'appel seul du répertoire redirige bien sur index.php

Une idée ? Merci à toi

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...