vivreavecundiabete Posté 31 Mars 2011 Posté 31 Mars 2011 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'/.htpasswdAuthGroupFile /dev/nullAuthName "Accès Restreint"AuthType Basicrequire 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
dimi3 Posté 1 Avril 2011 Posté 1 Avril 2011 Bonjour, peut-être cet .htaccess, si j'ai bien compris votre question : order deny,allowdeny from allallow from .votrehebergeur.com
Bidule21 Posté 1 Avril 2011 Posté 1 Avril 2011 (modifié) 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é 1 Avril 2011 par Bidule21
vivreavecundiabete Posté 2 Avril 2011 Auteur Posté 2 Avril 2011 Merci beaucoup ! Vraiment c'était tout simple à faire, mais heureusement j'ai eu votre aide. Encore uen fois MERCI ! :-)
Remi Posté 3 Avril 2011 Posté 3 Avril 2011 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.
dimi3 Posté 18 Septembre 2012 Posté 18 Septembre 2012 Le .htaccess [Options - Indexes] à la racine du site bloque le site. Mettre un fichier index dans le dossier à protéger ne protège pas grand-chose. Un aspirateur de site s'en moque.
Dan Posté 18 Septembre 2012 Posté 18 Septembre 2012 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
dimi3 Posté 18 Septembre 2012 Posté 18 Septembre 2012 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 ?
yuston Posté 18 Septembre 2012 Posté 18 Septembre 2012 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.).
dimi3 Posté 18 Septembre 2012 Posté 18 Septembre 2012 Je prends note de ces bonnes idées. Merci à vous.
Aenoa Posté 18 Septembre 2012 Posté 18 Septembre 2012 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é
dimi3 Posté 18 Septembre 2012 Posté 18 Septembre 2012 J'ajoute cette possibilité à ma liste d'études futures... Merci !
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant