8797 sujets

Développement web côté serveur, CMS

Hello,

Actuellement pour protéger mon site du directory traversal (accéder à l'arborescence d'un site en modifiant l'url) j'utilise un fichier index.php placé dans chaque répertoire et contenant :
<?php
header("Location:  http://www.monsite.com");
 
?>

Me mettant progressivement au php, j'ai cru comprendre qu'un fichier .htaccess pouvait gérer les autorisations d'accès du serveur Apache.

Est-ce qu'il est possible de configurer un .htaccess dans le répertoire principal afin de bloquer l'accès à l'arborescence de mon site si quelqu'un s'amuse à garder juste une url comme http://www.monsite.com/répertoire/

J'ai cru comprendre que le .htaccess gère l'autorisation hors moi je veux que mes fichiers soit toujours dispo et non bloquer les répertoires complètement.

Merci par avance (en espérant avoir été assez clair Smiley biggrin )
@+
Modifié par copperfield (09 Dec 2008 - 18:18)
salut

a écrit :
J'ai cru comprendre que le .htaccess gère l'autorisation hors moi je veux que mes fichiers soit toujours dispo et non bloquer les répertoires complètement.


teste et tu le constatera, htaccess ne bloque pas l'accés aux fichiers mais au répertoire.perso, j'en ai un dans chaque dossier sensible, classes, includes...etc

un exemple :

http://www.monsite.com/répertoire/ + un htaccess

répertoire est inaccéssible mais les fichiers si il sont inclus, restent accessibles.par contre,

http://www.monsite.com/répertoire/un fichier

un fichier sera aussi inaccéssible si appellé directement.en règle général htaccess, dans ce cas précis, devrait être utilisé pour des dossiers sensible comme dit plus haut, pour empêcher le listage, un fichier index suffit.
Merci Keran de ta réponse.
Penses tu qu'il soit possible alors de remplacer tous mes index.php par un seul fichier .htaccess en racine.

J'ai cherché des infos mais sur le net, mais le principal sujet sur le .htaccess est le verrouillage des répertoires admin.

Par contre dans ton deuxième cas cela empêche le référencement de la page par google, on ne pourra jamais y accèder par un moteur de recherche?

@+
Hello,

Un seul .htaccess à la racine, avec cette ligne :


Options -Indexes


En cas d'accès à un répertoire qui ne contient pas de fichier défini par défaut, ça renvoie une erreur 403.
Modifié par mistike (12 Dec 2008 - 02:29)
Merci mistike pour ta réponse, ça fonctionne parfaitement.
De mon côté j'ai aussi trouvé

DirectoryIndex maPageAlternative.html 


Ca marche bien aussi, si le serveur ne trouve pas d'index dans le répertoire il affiche la page alternative.
La différence avec ton code c'est que je n'ai pas besoin de gérer l'erreur 403, je dois gagner une ligne a tout casser Smiley lol

Par contre on notera que mon code ne fonctionne pas chez free contrairement à celui de mistike.

@+

Edit: La fonction de mistike est apparemment la bonne car c'est son but de désactiver le listage des fichiers .
J'ai l'impression que mon code est plus une astuce qui n'est pas destinée à cet usage !
Modifié par copperfield (12 Dec 2008 - 19:07)
AspiGeek a écrit :

La différence avec ton code c'est que je n'ai pas besoin de gérer l'erreur 403, je dois gagner une ligne a tout casser Smiley lol


Tsss Smiley cligne


Options -Indexes
ErrorDocument 404 <chemin>/maPageAlternative.html 
ErrorDocument 403 <chemin>/maPageAlternative.html 


Ou pour les faignant(e)s Smiley lol


Options -Indexes
ErrorDocument 404 /index.html
ErrorDocument 403 /index.html

Modifié par Felipe (24 Feb 2009 - 11:34)
Bah oui c'est bien ce que je dis je gagne une ligne Smiley lol
Plus sérieusement, j'ai bien pris ta solution qui est faite pour ça...et je rajouterai une ligne Smiley biggrin
Merci