CodeIgniter – Seguridad – Evitar XSS en formularios

Siguiendo con los puntos de seguridad de CodeIgniter, vamos a ver cómo podemos hacer nuestros formularios mas seguros. Es sabido que se puede aprovechar los formularios para poder realizar atques Cross-site scripting (XSS). Empecemos con el artículo CodeIgniter – Seguridad – Evitar XSS en formularios.

Éste, consiste en inyectar código en formulario o enlaces para poder ejectutar instrucciones que pongan en peligro la web. Centrémonos en los formularios…

En CodeIgniter hay dos maneras de aumentar la seguridad en este sentido.

Activar protección XSS en CodeIgniter en configuración

Debemos verificar que en el fichero config, application/config/config.php, la línea siguiente está a True

$config['global_xss_filtering'] = TRUE;

De esta manera toda la información que se pase por formularios, serà limpiado de código.

Protección XSS en CodeIgniter en formularios

Una de las novedades de la versión 3 es que cambia la manera de recibir la información de los formularios en los controladores:

$this->input->post('nombre', TRUE); // Hace limpieza XSS
$this->input->post('apellidos', FALSE); // No hace limpieza XSS
$this->input->post(array('nombre', 'apellidos'), TRUE); // Hace limpieza XSS

En definitiva, si añadimos TRUE como parámetro hará filtro XSS, y si ponemos FALSE no lo hará. Este parámetro es opcional. En el caso de no añadir este parámetro, cogerá el valor indicado en la variable global que hemos visto anteriormente ($config[‘global_xss_filtering’]).

Espero que os sea de utilidad el artículo CodeIgniter – Seguridad – Evitar XSS en formularios.


Más información

2 comentarios

  • Miguel

    Muchas gracias por el aporte.

    Entiendo que si no se pone ningún parámetro:

    $this->input->post(‘nombre’);

    Y en el config tenemos así:
    $config[‘global_xss_filtering’] = TRUE;

    Estaría aplicando el filtro en vez de poner todo el tiempo en los input el “True” como parámetro.

    Igualmente en el mismo config.php de CI 3 indica que esta directiva ha sido anulada y solo es retrocompatible con versiones anteriores.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

*