[htaccess] interdire un fichier dans l'url mais pas dans la page

interdire un fichier dans l'url mais pas dans la page [htaccess] - PHP - Programmation

Marsh Posté le 27-01-2005 à 15:55:00    

Bonjour,  
 
Voilà, j'ai une page qui fait un upload de document (jpg, gif, png, swf, dcr) dans un dossier /files (à la racine du site).
J'ai une page à la racine du site (question.php) qui affiche des données ainsi que le document associé aux document (il y a une base de données derrière)
Tout fonctionne aucun problème, mais j'ai un soucis de sécurité au niveau de l'acces du fichier.
Si un utilisateur regarde l'url du fichier (exemple : "[...]/files/file_43.jpg" ), et qu'il colle cette url dans le navigateur, le document s'affiche, normal. Mais c'est ce que je voudrais éviter justement.
Je voudrais que l'image soit accessible dans la page web, mais pas en faisant un copier-coller de son URL dans le navigateur.
Les utilisateurs ont un compte FTP sur le domaine du site, donc s'il font un script (hébergé sur le FTP) qui teste si le fichier existe, et l'affiche, c'est un problème de sécurité car il ne faut pas que ça soit accessible en dehors de la page web en question.
 
Alors, comment faire ?  :(


Message édité par Surfoo le 27-01-2005 à 15:56:57
Reply

Marsh Posté le 27-01-2005 à 15:55:00   

Reply

Marsh Posté le 28-01-2005 à 10:08:23    

En testant le referer: fais une recherche sur htacces et HTTP_REFERER

Reply

Marsh Posté le 28-01-2005 à 14:49:47    

En fait ça ne fonctionnera pas aussi, car les fichiers sont affiché à partir du même domaine... (c'est en intranet)

Reply

Marsh Posté le 28-01-2005 à 14:58:37    

Surfoo a écrit :

En fait ça ne fonctionnera pas aussi, car les fichiers sont affiché à partir du même domaine... (c'est en intranet)


Si, cela fonctionnerait car si l'utilisateur colle l'url, le navigateur va envoyer un referer vide au serveur web, donc il suffit que tu limites l'acces à ces fichiers à ton domaine.
 
PS : c'est dans le bon forum ? on parle pas trop PHP là...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed