Je ne suis pas sûr de bien comprendre. J'ai écrit un script (à placer sur le serveur, personnellement je l'ai appelé "envoyer.cgi"), le voici :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| #!/usr/bin/perl -wT
use CGI qw(:standard) ;
my $photo ;
my $fileholder ;
$photo=param('photo') ;
if($photo !~ /\w+\.jpg/) {die("C'est pas un fichier jpg") ;}
undef $/ ; #enable slurp mode
open(IN,"<$photo") or die("$! : can't open $photo") ;
$fileholder=<IN> ;
close(IN) ;
print "Content-Type: application/xdownload\n" ;
print "Content-Disposition: attachement; filename=$photo\n\n";
print $fileholder; |
Il permet à un visiteur de mon site de télécharger une image, un fichier d'extension jpg.
On peut le lancer en mettant dans la barre d'adresse du navigateur :
envoyer.cgi?photo=machin.jpg
Il est possible de l'activer via une Form avec un bouton "submit" où peut-être à partir d'une commande (un bouton) qui affiche la page :
envoyer.cgi?photo=machin.jpg
Il faudra changer la ligne qui débute par if($photo !~ /\w+\.jpg/) suivant le type de fichier à télécharger, et faire attention que ce script peut permettre à un hacker de télécharger tous les fichiers du site si on ne prend pas de précautions.
Il faut faire attention aux chemins suivant les répertoires où se trouvent le script et le fichier à télécharger, et peut-être changer le shebang.
En espérant que ça aide,
cordialement
nibroc
Partager