Aller au contenu

Restriction accès répertoire


Sujets conseillés

Bonjour à tous,

j'ai cherché un peu partout, en vain, car je ne sais pas trop comment formuler une recherche sur le forum concernant mon problème.

Je possède un site et je souhaiterais empêcher aux internautes de naviguer dans celui-ci autrement que par "le site".

Je m'explique.

Par exemple, je souhaiterais que l'internaute qui visite mon site et qui vois sur la page 'ww.monsite.com/photos.html' l'image nommée 'photo1.jpg' ne la vois pas autrement que par la page sur laquelle elle est située.

Je ne voudrais pas qu'il puisse y accéder par le répertoire dans lequel elle ce trouve 'www.monsite.com/images/photo1.jpg'.

Mais si je place un fichier .htaccess dans le répertoire 'www.monsite.com/images/'

avec le script suivant (je suis chez OVH):

AuthUserFile /homez.XXX/votre_login_ftp/www/'chemin d'accès au fichier .htpasswd'/.htpasswd
AuthGroupFile /dev/null
AuthName "Accès Restreint"
AuthType Basic
require valid-user

l'image et le dossier ne sont effectivement plus accessible sur 'www.monsite.com/images/' mais l'image napparaît plus non plus sur la page 'ww.monsite.com/photos.html'.

Que dois-je faire ou modifier dans mon script (si celui-ci est le bon), pour que mes images et autre documents apparaisse dans mon site mais pas dans une navigation dans les répertoires ?

Et que faire pour rediriger sur la page d'accueil par exemple, un internaute qui souhaiterais avoir accès aux répertoires de mon site ?

Merci beaucoup pour votre aide

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Essaie de rajouter un simple fichier index.html vide dans ton dossier, c'est une méthode simple qui fonctionne pas mal en général, et ça évite de se casser la tête avec les chmod sur dossier ou les .htaccess ;) Cela leur donnera une page blanche à la place.

Sinon tu peux aussi rajouter un petit message rigolo et les rediriger vers ta page d'accueil avec ça par exemple :


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="refresh" content="5; url=http://www.cequejendis.com" />
<title>TUTUTUTU on ne met pas les pieds ici</title>
</head>
<body>
Ce dossier n'a pas vocation à être visité, on ne cherche pas à regarder ce qu'il y a dedans, merci .
</body>
</html>

Code à modifier afin de rediriger vers ta page d'accueil plutôt que la mienne bien sûr ;)

Cette partie là

<meta http-equiv="refresh" content="5; url=http://www.cequejendis.com" />

Le chiffre correspond au temps avant la redirection.

Bonne soirée !

Modifié par Bidule21
Lien vers le commentaire
Partager sur d’autres sites

Il y a une directive .htaccess prévue pour cela.

Options -Indexes

En mettant cela à la racine de son site, on protège tout le site.

L'accès a un répertoire sans index génère alors une 403, ce qui est tout de même plus logique que de rediriger vers la page d'accueil.

Lien vers le commentaire
Partager sur d’autres sites

  • 1 year later...

Le .htaccess [Options - Indexes] à la racine du site bloque le site.

Il ne faut pas d'espace devant le mot Indexes ;)

Cette directive n'a d'autre but que d'empêcher l'affichage du listing d'un répertoire s'il ne contient pas de fichier index.php ou index.html

Lien vers le commentaire
Partager sur d’autres sites

Je vous remercie pour vos précisions.

Faut-il conclure que protéger un dossier (interdire sa visite et interdire son téléchargement) et permettre au site l'affichage des photos collectées dans ce dossier est incompatible ?

Lien vers le commentaire
Partager sur d’autres sites

Tu peux le faire en PHP je suppose. Dans la page qui affiche l'image il faudrait un code du style :


< img alt="" src="image.php?img=monimage.jpg" />

Dans mon image.php faudra insérer le header correspondant à l'image et de nombreuses conditions qui permettent de vérifier que l'image est bien appelée à partir de la page souhaitée. Pour finir, un simple .htaccess deny from all dans le dossier image. Cela alourdit un peu le site pour finalement protéger assez mal le téléchargement de l'image (une capture d'écran, une visite dans les dossiers caches, etc.).

Lien vers le commentaire
Partager sur d’autres sites

pour répondre a l'idée du PHP, c'est mieux de stocker les url d'images (voir même son code source!) dans une base de donnée et d’appeler via le $_GETnon pas le nom de l'image, mais un alias ou l' ID en base de donnée de cette image.

sinon, ça peux faire une faille de sécurité

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...