FTP : téléchargement mais pas exécution d'un fichier

FTP : téléchargement mais pas exécution d'un fichier - PHP - Programmation

Marsh Posté le 25-09-2007 à 11:59:59    

Bonjour,
 
j'ai quelques soucis avec mes permissions sur un repertoire FTP.
 
J'aimerai que les utilisateurs n'aient pas accès aux fichiers via l'url, c'est à dire en tapant directement www.monsite.com/fichier.pdf
Mais que ce soit mon php qui lui envoie via le bon header. Ce qui me permettrait de gérer qui à le droit de télécharger tel ou tel fichier.
 
Est-ce que c'est réalisable ?  :whistle:  
 
Est-ce que ça se joue uniquement avec le CHMOD ?
 
Merci, bonne journée à tous.
Clem  :hello:


Message édité par papanoramix le 25-09-2007 à 12:00:16
Reply

Marsh Posté le 25-09-2007 à 11:59:59   

Reply

Marsh Posté le 25-09-2007 à 14:18:12    

tu fais un truc comme ca

Code :
  1. <?
  2. $url = "www.monsite.com/chemin_que_personne_ne_connais/".$_GET['file'];
  3. $in = fopen($url,"rb" ) or die("ouverture impossible de $url" );
  4. $pos = strrpos($_GET['file'],"\\" )+1;
  5. $nom = substr($_GET['file'],$pos);
  6. header("Content-Type: application/force-download; name=\"$nom\"" );
  7. header("Content-Transfer-Encoding: binary\n" );
  8. header("Content-Length: $taille" );
  9. header("Content-Disposition: attachment; filename=\"$nom\"" );
  10. header("Expires: 0" );
  11. header("Cache-Control: no-cache, must-revalidate" );
  12. header("Pragma: no-cache" );
  13. //telechargement
  14. readfile($url);
  15. ?>


tu peux bien sur faire un truc plus intelligent avec une table de corresponane id<->chemin de fichier


Message édité par flo850 le 25-09-2007 à 14:18:23
Reply

Marsh Posté le 25-09-2007 à 17:25:39    

Oui, c'est ce que j'ai fait, mais mon problème est que si je mets un CHMOD  777 sur le dossier qui contient les fichiers, les Internautes peuvent atteindre les fichiers via l'URL.  Or je veux maitriser les téléchargements.  
 
Que dois-je mettre comme attribut sur ce dossier pour que l'upload avec PHP soit aussi possible ?

Reply

Marsh Posté le 25-09-2007 à 18:42:48    

un fichier .htaccess avec un deny from all, puis un allow from localhost ?


---------------
NewsletTux - outil de mailing list en PHP MySQL
Reply

Marsh Posté le 25-09-2007 à 18:48:23    

papanoramix a écrit :

Oui, c'est ce que j'ai fait, mais mon problème est que si je mets un CHMOD  777 sur le dossier qui contient les fichiers, les Internautes peuvent atteindre les fichiers via l'URL.  Or je veux maitriser les téléchargements.  
 
Que dois-je mettre comme attribut sur ce dossier pour que l'upload avec PHP soit aussi possible ?


 
je ne pense pas que le fait de modifier les permissions vont changer quelques chose car tes utilisateurs accederont aux données via l'utilisateur www-data. Bref, je ne pense pas qu'il y ait moyen de filtrer. En effet je pense que le fichier htaccess est la meilleur solution.

Reply

Marsh Posté le 26-09-2007 à 09:42:03    

Ok, merci, je vais tenter le .htaccess

Reply

Sujets relatifs:

Leave a Replay

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