En algunas ocasiones es necesario grabar datos con código HTML y sus respectivos atributos, esto es recomendable hacerlo sobre todo en aplicaciones de backend, donde se tiene el control de qué usuarios pueden insertar o modificar información.
Esto claramente es un problema de seguridad por la inyección de código malicioso si se establecen estas preferencias en un ambiente de front-end pues ahí sí, un desconocido puede inyectar código malicioso como scripts de Javascript e incluso de php o perl o cgis.
- Hay que establecer la variable
global_xss_filtering
a FALSE, dentro del archivoapplication/config/config.php
$config['global_xss_filtering'] = FALSE;
- Ya sea en el modelo o en un controlador, se deben obtener los datos y filtrarlos con la libreria XSS CLEAN que incorpora CodeIgniter
$a_input_post = $this->input->post(NULL, TRUE); # retorna todos los elementos POST con el filtro XSS
Ahora puedes trabajar con los campos de manera segura que se han filtrado y puesto en la variable$a_input_post
- Para grabar los datos de un campo específico en donde queremos tener el html íntegro desde el origen, lo que hay que hacer es evitar filtrar solamente ese campo:
$this->db->set('descripcion', $this->input->post('mi_campo_html', FALSE));
No hay comentarios:
Publicar un comentario