Foros del Web » Programando para Internet » PHP »

Ejecutar código PHP contenido en un campo de MySQL | Uso de eval();

Estas en el tema de Ejecutar código PHP contenido en un campo de MySQL | Uso de eval(); en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 10/03/2011, 02:08
 
Fecha de Ingreso: junio-2003
Mensajes: 104
Antigüedad: 20 años, 10 meses
Puntos: 0
Ejecutar código PHP contenido en un campo de MySQL | Uso de eval();

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!

Última edición por PYTUFYN; 10/03/2011 a las 02:13
  #2 (permalink)  
Antiguo 10/03/2011, 08:37
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: Ejecutar código PHP contenido en un campo de MySQL | Uso de eval();

No entiendo por que en tu eval usas llaves invertidas. Podrías poner un poco más de codigo?

Y bueno, comentar que el uso de eval me parece innecesario.

Etiquetas: eval, include, mysql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:38.