Aller au contenu

Sujets conseillés

Posté

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 +FollowSymlinks

RewriteEngine 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

Posté

Bonjour,

Pourquoi tu ne passes pas par une variable de session ?

Posté

Re,

Un petit tour là http(:)//www.siteduzero.com/tuto-3-176-1-les-variables-superglobales.html devrait suffire

Posté

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 :wacko:

Merci de ton aide

Posté

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

Posté (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=&quot;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 :wacko: 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 :wacko:

J'espere que tu va pouvoir éclairer ma lanterne une fois de plus.

Merci :rolleyes:

Modifié par zubaran

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...