forcer le telechargement - PHP - Programmation
Marsh Posté le 24-08-2012 à 10:43:06
Moi je te propose ça :
Code :
|
dans t'as div content. Donc la tu as deux possibilité soit un bouton, soit un lien donc c'est a ton bon vouloir, je t'ai fait un exemple avec les deux.
Ensuite, j'ai créer une page qui s'appelle pdf.php ou j'ai écrit ce code :
Code :
|
Donc en gros pour le premier bouton, tu vas ouvrir une nouvelle fenêtre avec ton pdf en lecture et le deuxieme tu ouvres un nouvel onglet pour telecharger ton pdf.
En espérant avoir pu t'aider.
Paul
Marsh Posté le 27-08-2012 à 18:05:08
sltpaulo a écrit :
|
Jolie faille de sécurité là...
EDIT (pour un peu préciser les choses) : tu appelles readfile en lui donnant un paramètre qui vient directement de l'utilisateur, sans contrôle ou validation. Concrètement, ça signifie qu'en jouant sur la valeur du paramètre "pdf_name", on va pouvoir obtenir le contenu de n'importe quel fichier accessible à l'interpréteur PHP. Entre autres : code source des fichiers php (dans lesquels on pourrait avoir des mots de passe), fichiers système, et suivant les options de compilation de php, on peut même ouvrir des urls avec readfile.
Quand on fait ce genre de trucs, 2 règles à respecter absolument :
- on choisi un répertoire qui va contenir les fichiers qui peuvent être par ce biais (et rien d'autre)
- on s'assure que le paramètre passé à readfile pointe vers un fichier contenu dans ce répertoire
Marsh Posté le 22-08-2012 à 16:49:35
Bonjour a tous!!!!!
Je connais un peu html mais avec php je suis depassé j'avoue :?
Je souhaiterais avoir vos lumieres :
J'aimerai sur une page qu'il y ait un lien pour regarder le fichier dans le navigateur (ça c'est ok)
mais aussi un autre si l'utilisateur veut telecharger le fichier sans le voir.
J'ai lu qu'il fallait changer le header mais si je le fais (forcer le download) ça va telecharger sur les deux liens, non ?
Ma portion de code actuelle :
Donc j'aimerai modifier le 2ieme pour telecharger directement sans changer chaque page une par une bien sur
Merci infiniement!