Question avec .htaccess

Résolu
Signaler
Messages postés
67
Date d'inscription
mercredi 14 février 2007
Statut
Membre
Dernière intervention
22 mars 2009
-
Messages postés
67
Date d'inscription
mercredi 14 février 2007
Statut
Membre
Dernière intervention
22 mars 2009
-
Bonsoir à tous !!!

Voilà mon soucis : 

A ma racine j'ai un index.php. Mais j'ai aussi des repertoires toto1, toto2, toto3. J'ai des fichiers php à la racine et également dans les repertoires.

Or si un utilisateur fait http://www.monsite.fr/toto il peut voir tous les fichiers php qu'il y a dans mon répertoire... Donc j'ai besoin d'empecher la navigation dans toto n'est ce pas ?
A moins qu'on ne puisse pas télécharger les fichiers php.

Je rajoute également que ces fichiers php dans mes repertoires toto, toto2 et toto3 sont également des pages du site (car il y a du code html dedans aussi), donc il faut que les utlisateurs puissent y avoir accès, mais sans pouvoir naviguer dans le repertoire.

Quand j'utilise .htaccess j'arrive à bloquer la navigation dans les repertoires mais du l'appel des pages php s'en trouve également bloqué... Comment y remédier ?

Merci d'avance pour votre aide !

5 réponses

Messages postés
2480
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
18
Le fichier index.html permettra d'empêcher le listing du répertoire. C'est exactement le même résultat que la directive Options -Indexes d'un fichier .htaccess
Cette directive ne fait rien d'autre que ne pas afficher le contenu du répertoire si aucun fichier d'index n'est trouvé.

Concernant tes 2 autres questions :

1/ Tout dépend. Si le FTP distant est un espace de publication web, il est préférable de stocker ta sauvegarde dans un répertoire qui n'est pas dans l'arborescence de publication... Tous les hébergeurs ne le permettent pas (les gratuits comme free par exemple).
Si le répertoire est dans l'arborescence de publication web, un simple fichier .htaccess contenant :
Deny from all

suffit à protéger l'accès via HTTP à ta sauvegarde.

2/ Comme je te le disais, le fichier PHP, s'il est appelé directement est d'abord interprété par PHP avant que le résultat du script ne soit renvoyé au navigateur. Si le script n'affiche rien, l'appeler directement affichera une page blanche.
Cependant, il y a une limitation à cela : si pour une raison ou une autre le serveur Apache ne fait plus interpréter les fichiers .php par PHP avant de les renvoyer au navigateur, ton fichier sera visible comme du texte (cela peut arriver suite à une mauvaise configuration : même si ça reste très exceptionnel, c'est quand même possible).
La solution : un fichier .htaccess qui interdit l'accès au fichier en question :

<Files "config.php">
    deny from all
</Files>

L'accès en direct par HTTP au fichier config.php produira une belle erreur HTTP 403. Par contre, l'inclusion dans un script PHP fonctionnera très bien, puisque PHP inclut le fichier en utilisant le système local de fichiers et non pas HTTP.
Je te recommande la lecture de la doc d'Apache pour plus d'informations : http://httpd.apache.org/docs/2.2/mod/core.html#files

Crypter le contenu du fichier n'est pas nécessaire : tu risques de plus galérer à les décrypter pour utiliser le mot de passe et le login pour te connecter à ta bdd...

<hr size="2" width="100%" />Neige

N'hésitez pas à lire la doc de PHP avant de poser des questions triviales...
Messages postés
2480
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
18
Salut,

Les scripts PHP ne sont pas téléchargeables. Pas leur source en tout cas.
Quand le serveur HTTP reçoit une requête concernant un script PHP, il renvoit la requête à PHP qui interprète le script (plus exactement, il interprète ce qui se trouve entre <?php et ?> et laisse le reste intact). PHP renvoie alors le résultat au serveur HTTP qui le renvoit au navigateur. Et ce, quelque soit la manière dont l'utilisateur y arrive (en fait, c'est toujours la même chose pour le serveur HTTP, qu'on suive un lien ou qu'on demande un fichier directement, pour lui, c'est pareil).

Sinon, pour éviter qu'on ne liste le contenu d'un répertoire, tu as deux solutions.
L'une peu élégante, l'autre un peu plus.

index.html : tu crées un fichier index.html avec rien dedans. C'est ce fichier qui sera affiché par défaut si rien n'est demandé.

.htaccess : la directive suivante permet d'empêcher le listing d'un répertoire
Options -Indexes

L'utilisation du fichier .htaccess n'est réellement possible que si ton hébergeur t'en laisse la possibilité (il me semble que pour ce genre de directive, il n'y a pas trop de contraintes, donc ça devrait passer)

<hr size="2" width="100%" />Neige

N'hésitez pas à lire la doc de PHP avant de poser des questions triviales...
Messages postés
67
Date d'inscription
mercredi 14 février 2007
Statut
Membre
Dernière intervention
22 mars 2009

Merci beaucoup pour ton aide. L'idée du index.html me plait beaucoup... est incontrable et aussi secure qu'un htaccess ?


Sinon tant que j'y suis j'ai deux autres petites questions concernant la sécurité :


1) Je fais une sauvegarde de ma bdd en envoyant le fichier de sauvegarde vers un ftp distant. Y'a-t-il qqchose à faire en terme de sécurité ?


2) J'ai un fichier php qui est appelé en include avec les données de ma bdd (dont user et mdp) pour me connecter à ma bdd dans certains de mes scripts. Est ce qu'il faut que je protege ce fichier et que je crypte les données qu'il y a dedans ou est ce qu'il est de toutes façons protégé car c'est un fichier php et donc inaccessible ?

Merci d'avance encore pour ton aide !!!
Messages postés
67
Date d'inscription
mercredi 14 février 2007
Statut
Membre
Dernière intervention
22 mars 2009

Merci vraiment pour ces réponses précises et en signalant que tu n'es pas avare en prose !
C'est un vrai bohneur d'etre aidé comme cela sachant que les problemes de secutité sont nombreux et on ne pense pas à tout.
Messages postés
67
Date d'inscription
mercredi 14 février 2007
Statut
Membre
Dernière intervention
22 mars 2009

Merci vraiment pour ces réponses précises et en signalant que tu n'es pas avare en prose !
C'est un vrai bohneur d'etre aidé comme cela sachant que les problemes de secutité sont nombreux et on ne pense pas à tout.