Hola a tod@s.
Veréis, en el registro del campo "contenido" de mi tabla "articulos" inserto desde el formulario de mi panel de administración a la base de datos un código PHP (en concreto un include), por ejemplo:
Cita: TextoTextoTexto
<? include('loquesea.php'); ?>
TextoTextoTexto
Entonces claro, con un
Código PHP:
echo $contenido;
El include que hay no se ejecuta, quedando tal que así:
TextoTextoTexto
TextoTextoTexto
Para solucionar esto, lo que he hecho es
Código PHP:
<?php
eval('?>' . $contenido . '<?');
?>
De este modo ya sí que me ejecuta el include correctamente.
Pero he leído por ahí que el empleo de el eval(); puede ser un gran riesgo en la seguridad. ¿En este caso lo sería? y en caso afirmativo alguien me podría explicar por qué?
El formulario que ingresa los datos (el include entre el texto en este caso) en la DB obviamente es de uso exlusivo desde el panel de administración y el eval(); solamente muestra el registro de un solo campo. O sea que no hay ningún formulario para uso de cualquier usuario desde el que puedan enviar código PHP para su posterior ejecución en la página.
¿Habría alguna otra alternativa de poder ejecutar ese include(); contenido en un campo de la base de datos sin usar eval();?
Espero que se haya entendido mi mensaje.
Un saludo!