viernes, 4 de febrero de 2011

Symfony 1.4 guardar y mostrar html de la base de datos

Para mostrar un campo de la base de datos siempre obtenemos el objeto con el cual  podemos acceder a una fila y mediante un getter podemos imprimirla. basado en el siguiente ejemplo.

TABLA RECOMENTADIONES
id                      int
titulo                 char 255
recomendacion text


supongamos que queremos guardar un texto de titulo y un codigo html gracias a un rich text editor en recomendaciones.

echo $obj->getTitulo( ) ?>  "ESTO IMPRIMIRA EL TITULO"
echo $obj->getRecomendacion( ) ?>  "ESTO IMPRIMIRA LA RECOMENDACION"


Symfony no nos va a dejar mostrar la reconedacion ya que lo guardamos en HTML por que piensa que es un ataque XSS gracias a la configuracion que tenemos en el config del app en el archivo settings.yml

all:
  .settings:
    # Output escaping settings
    escaping_strategy:      true
    escaping_method:      ESC_SPECIALCHARS


Si colocamos escaping_strategy: true en false logramos mostrar nuestro código que viene de la base de datos perfectamente pero no es la idea porque estamos bajando los niveles de seguridad... para arreglar esto simplemente lo dejamos en true y al objeto que queremos imprimir le pasamos por parámetro el siguiente metodo de escape.


 echo $obj->getRecomendacion(ESC_RAW) ?>


Solucionado.
espero que les sirva, saludos.

No hay comentarios.:

Publicar un comentario