Come parte di un progetto più ampio su cui sto lavorando, ho bisogno di scrivere uno script PHP per convertire una stringa Base64 in un'immagine. Il modo in cui mi piacerebbe passare la stringa Base64 nello script tramite una query GET, quindi ...
example.com/base64ToPng.php?base64=thisIsTheBase64ForTheImage
Vorrei quindi convertire il Base64 che è passato in un'immagine PNG e visualizzarlo come se il file PHP fosse un'immagine. Mentre questo non è un problema dal punto di vista dello sviluppo, sono preoccupato per la sicurezza di farlo. Mi metterei in pericolo visto che Base64 verrà creato dall'utente? (O più accuratamente, Base64 verrà creato da un programma basato sull'immagine fornita dall'utente.) Sono particolarmente preoccupato per l'utente che crea un'immagine dannosa in grado di eseguire codice arbitrario, ma non so se questo sia una preoccupazione valida dato che l'immagine verrà solo ricreata dallo script PHP ma non memorizzata sul server.
<?php
if(!isset($_GET['x'])) {
die();
}
$image = base64_decode($_GET['x']);
header ('Content-type: image/png');
imagepng($image, NULL, 0);
?>