Arkh Posté 28 Août 2006 Partager Posté 28 Août 2006 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 More sharing options...
captain_torche Posté 28 Août 2006 Partager Posté 28 Août 2006 Tu peux forcer le nom du fichier avec la fonction header : header('Content-Disposition: attachment; filename="nom_de_ton_fichier"'); Lien vers le commentaire Partager sur d’autres sites More sharing options...
Arkh Posté 28 Août 2006 Auteur Partager Posté 28 Août 2006 Merci, c'est exactement ce qu'il me fallait. 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