Como parte de un proyecto más grande en el que estoy trabajando, necesito escribir un script PHP para convertir una cadena Base64 en una imagen. La forma en que me gustaría pasar la cadena Base64 a la secuencia de comandos a través de una consulta GET, así que ...
example.com/base64ToPng.php?base64=thisIsTheBase64ForTheImage
Luego me gustaría convertir el Base64 que se pasa a una imagen PNG y mostrarlo como si el propio archivo PHP fuera una imagen. Si bien este no es un problema desde el punto de vista del desarrollo, me preocupa la seguridad de hacerlo. ¿Me pondría en peligro porque el usuario creará la Base64? (O más precisamente, la Base64 será creada por un programa basado en la imagen que el usuario le proporcionó). Me preocupa especialmente que el usuario cree una imagen maliciosa que pueda ejecutar código arbitrario, pero no sé si esto es así. una preocupación válida dado que la imagen solo será recreada por el script PHP pero no almacenada en el servidor.
<?php
if(!isset($_GET['x'])) {
die();
}
$image = base64_decode($_GET['x']);
header ('Content-type: image/png');
imagepng($image, NULL, 0);
?>