Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[Question de debutant?] Renvoyer un fichier binaire par cgi

2 réponses
Avatar
Patrice Chevee
Bonjour,

je cherche a faire qu'un script cgi (mettons toto.cgi) renvoie un fichier
binaire dont l'adresse url doit rester secrète.

Attention: je ne cherche pas à ce que le script renvoie:

location: http://blabla/fichiersecret.bin

car, je le répète, l'url de fichiersecret.bin ne doit être en aucun cas
révélée. Ce que je voudrais, c'est que le script lise le fichier secret, et
renvoie son contenu binaire. J'imagine que ce n'est pas tres difficile à
faire, mais je ne sais pas comment m'y prendre. Si le fichier avait été un
fichier texte, ça ne m'aurait posé aucun problème, grâce à la fonction
print.

Merci d'avance de votre aide, et bien à vous

P.C.

2 réponses

Avatar
Jacques Caron
On Fri, 14 Oct 2005 23:49:35 +0200, Patrice Chevee
wrote:

Ce que je voudrais, c'est que le script lise le fichier secret, et
renvoie son contenu binaire. J'imagine que ce n'est pas tres difficile à
faire, mais je ne sais pas comment m'y prendre. Si le fichier avait été
un fichier texte, ça ne m'aurait posé aucun problème, grâce à la fonction
print.


Il y a probablement beaucoup de façons de le faire, par exemple:

my $size = -s $fname;
open my $file,$fname;
read $file,$data,$size;
close $file;
print $data;

Attention, si tu veux vraiment faire les choses proprement il convient de
générer un Content-Length et de gérer les Range:, les If-Modified-Since,
les HEAD, etc. Aussi, il peut être utile de faire attention au binmode sur
ton STDOUT si tu l'as modifié par ailleurs.

Si tu utilises mod_perl tu peux probablement faire un handler qui va juste
"résoudre" le fichier et laisser Apache se débrouiller avec.

Jacques.
--
Oxado http://www.oxado.com/

Avatar
Jérémy JUST
On Fri, 14 Oct 2005 23:49:35 +0200
"Patrice Chevee" wrote:

Si le fichier avait été un fichier texte, ça ne m'aurait posé aucun
problème, grâce à la fonction print.


On peut faire exactement pareil avec un fichier binaire.

Il faut juste donner le bon Content-Type.


--
Jérémy JUST