Digamos que quiero configurar un arenero o un área de juegos en PHP que los usuarios puedan usar para crear (o pegar) XML y XSLT, luego transformar el XML a través del XSLT (mediante DOMDocument de PHP 5 y objetos relacionados).
Entonces, en un ejemplo simple, tendríamos un formulario con dos áreas de texto: una para XML y otra para XSLT. El usuario ingresaría su XML y XSLT y presionaría un botón. El XSLT y el XML se publicarían en mi servidor, donde transformaría el XML con el XSLT y luego devolvería el resultado al usuario.
De alguna manera, esto es como un eval()
, pero tengo la sensación de que los riesgos en este escenario son mínimos o mucho más bajos que si presentara un formulario con un área de texto para PHP y solo eval()
ed ese código.
¿Mi corazonada es correcta o hay problemas de seguridad ocultos aquí? Si es así, ¿cuáles son y qué tipo de precauciones debo tomar para asegurar mi aplicación teórica?