zubaran Posté 8 Mars 2007 Partager Posté 8 Mars 2007 Bonjour, Je cherche à protéger des fichiers à télécharger dans un répertoire. C'est à dire qu'il doit être impossible d'y acceder via l'url exact (ex: http://nomserveur/NomAppli/RepAProteger/ ) mais que via une page php du "site" on puisse télécharger un fichier via un lien ! Le problème est qu'à chaque fois je suis redirigé vers une erreur 403, comment y remédier ? Voici mon code .htaccess (avec ceci je bloque bien la lecture en direct mais également via ma page php) Options +FollowSymlinksRewriteEngine on RewriteBase /test/ AuthUserFile /dev/null AuthGroupFile /dev/null AuthName AccesRestreint AuthType Basic ErrorDocument 401 http://401.shtml ErrorDocument 403 http://403.shtml ErrorDocument 404 http://404.shtml ErrorDocument 500 http://500.shtml <Files .htaccess> order allow,deny deny from all </Files> <LIMIT GET> order deny,allow deny from all allow from 191.20.202.55 </LIMIT> Merci Lien vers le commentaire Partager sur d’autres sites More sharing options...
ghost Posté 8 Mars 2007 Partager Posté 8 Mars 2007 Bonjour, Pourquoi tu ne passes pas par une variable de session ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
zubaran Posté 8 Mars 2007 Auteur Partager Posté 8 Mars 2007 Je veux bien essayer, comment faire ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
ghost Posté 8 Mars 2007 Partager Posté 8 Mars 2007 Re, Un petit tour là http(:)//www.siteduzero.com/tuto-3-176-1-les-variables-superglobales.html devrait suffire Lien vers le commentaire Partager sur d’autres sites More sharing options...
dldstyle Posté 9 Mars 2007 Partager Posté 9 Mars 2007 Je me posais également la même question, j'ai maintenant ma réponse. Merci ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
zubaran Posté 9 Mars 2007 Auteur Partager Posté 9 Mars 2007 Salut, Merci pour le lien, j'ai bien compris comment créer une session, par contre je pige pas l'intérêt et comment faire pour protéger l'accès aux fichiers. Je comprend pas trop en fait, je dois faire un truc dans le genre ? : session_start(); $_SESSION['fichier'] = 'http://url/repertoire/proteger/monfichier.zip'; et je met un lien du type http://www.monurl/$fichier ? Mais dans ce cas là, le lien peut tout de même être accessible directement. Pourrait tu me donner quelques indices ou une idée de comment je dois procéder je suis un peu là Merci de ton aide Lien vers le commentaire Partager sur d’autres sites More sharing options...
ghost Posté 9 Mars 2007 Partager Posté 9 Mars 2007 Bonjour, Dans ta page où sont tes liens tu ouvres une session, tu affectes une valeur à une variable de session $_session['dowload']= 'ok', dans ta page où sont tes fichiers, tu ouvres une session et tu vérifie si $_session['download'] = 'ok' si oui ben on continue, sinon ben, echo 'désolé veuillez passer par la page ...'. Si tu arrives "de l'extérieur" ta variable de session ne sera pas définie donc pas de donc la page ne sera pas ouverte, voilou en gros le principe Lien vers le commentaire Partager sur d’autres sites More sharing options...
zubaran Posté 9 Mars 2007 Auteur Partager Posté 9 Mars 2007 (modifié) Ok merci, mais il faut alors que le fichier se lance directement de la page elle même avec une fonction php non ? parceque si je fais cela par exemple : J'ai ma page jeu.php, dedans il y a ceci donc : session_start(); $_session['dowload']= 'ok'; <a href='http://www.url.com/download.php?jeuid=512'>Telecharger</a> Dans le fichier download.php : session_start(); if ($_session['dowload']=="ok") { <a href="http://www.url.com/jeux/512.zip">Jeu 512</a> } else { echo "Erreur"; } Si la personne tape directement le lien http://www.url.com/jeux/512.zip rien ne l'empeche de télécharger 512.zip. Et si il tape http://www.url.com/jeux/ rien ne l'empeche d'accéder au répertoire. J'arrive vraiment pas à piger le truc dsl. ---------------- Pour le moment j'utilise un systeme de redirection avec htaccess mais certaines personnes sont bloqués par leur firewall. Dans mon fichier download.php : <a href="<?php echo "godownload-$ligne_jeu[Fichier].html"; ?>"><img src="Gifs/startdlfr.gif" border="0" alt="Téléchargement du jeu"></a> Dans mon htaccess de mon site : Options +FollowSymlinks RewriteEngine on RewriteBase / RewriteRule ^godownload-([a-zA-Z0-9\/_]+).([a-zA-Z]+)\.html$ http://88.151.39.66/$1.$2 [R=301,L] Dans le htaccess de mon serveur : Options +FollowSymlinks RewriteEngine on RewriteBase / RewriteCond %{HTTP_REFERER} !^http://www.monurl.com.*$ [NC] RewriteRule .* http://monurl.com/erreur.php [QSA,L] Avec ce système je bloque vraiment les accès externent mais aussi les firewall. Il faudrait que j'arrive à faire ce même type de protection avec une session mais je pige vraiment pas le truc J'espere que tu va pouvoir éclairer ma lanterne une fois de plus. Merci Modifié 9 Mars 2007 par zubaran Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant