Apache+htaccess: empêcher le parcours d'un rép

Bonjour à toutes et tous!

Je débute dans l’installation d’un serveur Apache et j’aimerais savoir comment on peut interdire à un internaute d’avoir accès à un répertoire comme par exemple ‘mon_site/img’.

Ce faisant, mon ‘index.html’ sera-t-il apte à afficher les images contenues dans ce répertoire img ?

J’ai essayé de placer un fichier ‘.htaccess’ dans le répertoire ‘img’ dont question contenant un “deny from all” mais sans succès.

Je dois passer à côté de certaines finesses…

Une bonne âme pourrait-elle m’expliquer les bases du fonctionnement des fichiers .htaccess simplement ??

Les explications trouvées sur le web sont trop obscures pour votre modeste serviteur :confused:

Merci d’avance et bonne journée :smiley:

Dans le fichier /etc/apache2/httpd.conf tu mets

[quote]#Ajout pour les htaccess du répertoire machin
<Directory /var/www/machin>
AllowOverride All
[/quote]

avec machin=nom de ton répertoire où tu mets un .htaccess, (ou son chemin s’il n’est pas en racine), sinon les .htaccess ne sont pas pris en compte.
Le “deny from all” dans le .htaccess bloquera l’accès au répertoire et à ses sous répertoires également.

Salut,
Un simple fichier index.html vide dans le répertoire contenant tes images et le tour est joué.

Bonjour,

http://httpd.apache.org/docs/2.2/mod/core.html#options

[quote=“figaro”]Dans le fichier /etc/apache2/httpd.conf tu mets

[quote]#Ajout pour les htaccess du répertoire machin
<Directory /var/www/machin>
AllowOverride All
[/quote]

avec machin=nom de ton répertoire où tu mets un .htaccess, (ou son chemin s’il n’est pas en racine), sinon les .htaccess ne sont pas pris en compte.
Le “deny from all” dans le .htaccess bloquera l’accès au répertoire et à ses sous répertoires également.[/quote]
Il vaut mieux le mettre dans le fichier décrivant le site de /etc/apache2/sites-available, mais cette solution interdira la visualisation des images via index.html. La solution de lol fonctionne.

Dans ce cas il sera valable que pour ce site virtuel. C’est un choix à faire si l’on a des sites virtuels différents. Dans le cas d’un seul site virtuel (site default) le httpd.conf ou également si le directory appartient au seul site default.

La technique de l’index vide ne ferme pas l’accès au répertoire mais le masque simplement et si l’on connait le nom des fichiers ou des répertoires inclus on accédera à ces fichiers et sous répertoires.

[quote=“lol”]Salut,
Un simple fichier index.html vide dans le répertoire contenant tes images et le tour est joué.[/quote]

Rhaa non, lol ! J’arrive pas à croire que tu aies écrit ça !

:stuck_out_tongue:

[quote=“figaro”]
La technique de l’index vide ne ferme pas l’accès au répertoire mais le masque simplement et si l’on connait le nom des fichiers ou des répertoires inclus on accédera à ces fichiers et sous répertoires.[/quote]
Oui, mais mettre un .htaccess empêche l’image de s’afficher si on met un .htaccess dans le répertoire et que l’image est appelée dans une page HTML [à vérifier mais le contraire m’étonnerait beaucoup et ne serait pas logique]. D’où cette solution. Je pense qu’il veut éviter un pillage direct de ses images. Si les images sont sur une page, on peut de toute façon la sauvegarder indépendamment.

Ben oui, il n’y a pas 36 solutions.

L’image est publique : Un .htaccess empêcherais qu’elle soit lisible par le site Web…

L’image est privée: elle n’a rien à faire dans un répertoire accessible, il faut un .htaccess. Mais dans ce cas l’image doit être dans un répertoire séparé des images publiques.

Maintenant s’il s’agit simplement d’empêcher de naviguer dans les images, un html est la solution (solution par défaut de la plupart des CMS si je ne m’abuse - joomla, wordpress, etc.)

Tout dépend du contenu du .htaccess :

Avec “deny from all” dans le .htaccess l’accès est totalement fermé et on ne pourra pas accéder aux fichiers ni aux sous répertoires même en connaissant leur nom exact.

Par contre avec “Options -Indexes” dans le .htaccess ou un index.html vide on pourra accéder aux fichiers et aux sous répertoires si on connait leur nom exact.

Sinon un accès par mot de passe avec le .htaccess et un .htpasswd permet de fermer sauf pour les autorisés.

Edit: tout dépend de ce que l’on veut comme comportement.

Ou alors, on fait ça proprement en désactivant l’option Indexes d’apache ([edit] plutôt de de placer un fichier index.html vide).

http://httpd.apache.org/docs/2.2/mod/core.html#options

Dans ce cas tu affectes tous les répertoires du serveur web

Oui SI tu mets l’option dans la configuration global.
Non SI tu mets l’option dans un fichier .htaccess.

Comme déjà, dit : Options -Indexes bloque tous les index du répertoire du .htaccess et des sous répertoires.

:text-+1:

Et mettre un fichier idex.html n’a rien de sale. Ou alors expliquez moi pourquoi…

Il faut demander à “P’tit g” ce qu’il y a de sale dans un index.html vide, pour moi c’est tout à fait correct et en plus simplissime.

Disons plutôt que, de mon point de vu personnel, je ne trouve pas ça joli comme manière de faire. Mais ça n’engage que moi.

Effectivement, pour bloquer l’affichage d’un répertoire unique, le fichier index.html vide est une manière de faire qui est simple, rapide et efficace (jusqu’au jour où on modifie la directive DirectoryIndex). Mais à mon humble avis et d’après mon expérience personnel, le besoin est souvent de bloquer le listage de tous (ou disons une majorité) les répertoires. D’où une interdiction global éventuellement accompagnée d’un +Indexes local.

OK! Merci de toutes ces précisions!

Je garde ça précieusement.

Pour l’instant, j’ai retenu la solution (simple) de lol et comme l’a dit fran.b, c’est juste pour éviter un pillage direct puisque de toute façon les images restent accessibles (et donc enregistrables) séparément.

Merci de votre aide et bonne journée :smiley:

PS: @figaro -> étais-tu à l’origine d’un tuto sur la mise en place de Samba sur Ubuntu ? Si oui, merci (très en retard) car ça m’avait bien servi à l’époque!

[quote=“VonRobot”]
PS: @figaro -> étais-tu à l’origine d’un tuto sur la mise en place de Samba sur Ubuntu ? Si oui, merci (très en retard) car ça m’avait bien servi à l’époque![/quote]

Oui :slightly_smiling:

Re,
J’enlève le vilain [Résolu], la coche verte suffit. :wink: