Je développe un script PHP pour envoyer le contenu d'un fichier d'un script à un autre. En PHP, il utilise généralement le tableau $ _FILE qui contient n'importe quel fichier envoyé dans un formulaire. Mais je ne l'ai pas eu besoin d'une forme, donc je suis venu avec quelque chose d'un peu différent:
// pseudo function names ahead
$content = file_get_contents(FILE_TO_SEND);
send_file_with_curl(base64_encode(gzcompress($content)));
Donc, ce récupère essentiellement le contenu du fichier, puis le comprime avec une compression gzip puis base64 encode. Ensuite, tout est envoyé avec une requête cURL POST. De l'autre côté je reçois le contenu base64 décodé, décompressé et tout revient intacte. Donc, ma question est la suivante: Y a-t-il des inconvénients à faire les choses de cette façon? Y a-t-il des problèmes de sécurité ou d'intégrité que je pourrais négliger?
J'ai oublié de mentionner que j'envoie également un condensé md5 du fichier pour vérifier si le transfert s'est bien passé. Et les fichiers à envoyer ne seront jamais plus de 3Mb de taille.
Merci d'avance pour toutes vos réponses.
Comme je l'ai noté à Frank, base64 ajoute exactement 33%. Il code 3 octets comme 4. Il n'y a aucune conjecture ici. –