Aller au contenu

Comment changer le nom d'un fichier téléchargeable sans passer par de l'url rewriting


Arkh

Sujets conseillés

Bonjour,

je souhaites créer un script php qui permet de vérifier que l'utilisateur est bien logué pour pouvoir télécharger divers fichiers.

Pour ceci, j'ai un fichier dl.php prenant en argument le nom du fichier (par exemple dl.php?file=kikoo.rar) et si l'utilisateur est logué, envois le contenu du fichier (petit echo file_get_contents()). Pas besoin de crier au trou de sécurité, l'argument est vérifié avant de jouer avec (pas de "../config-de-ton-site-merci.php" possible).

Le problème est que le fichier est bien envoyé, mais le browser pense télécharger un fichier nommé dl.php. D'aprés la doc http, il n'y a pas de directive pour spécifier le nom du fichier.

Seule possibilité restante, la directive pragma qui permet de spécifier des trucs supplémentaires ne faisant pas partie du protocole mais spécifique aux éléments recevant le flux. Seulement, sorti de "no-cache", impossible de trouver une doc sur les directives pragma reconnues par la plupart des browser.

Si quelqu'un en a une liste, ou peut m'assurer qu'il n'y a rien d'autre que du contrôle de cache avec pragma, ça m'arrangerait. Le mieux serait si quelqu'un connaît une solution à ce problème.

PS: non, pas d'url rewriting dispo, et une protection par .htaccess n'est pas adaptée à mes besoins.

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

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



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