xss_clean ip_address disable codeigniter csrf-protection

disable - ip_address codeigniter



Problema de token de CSRF con CodeIgniter (2)

Encontré el problema. En una de mis bibliotecas personalizadas tengo parent :: _ sanitize_globals () que aparentemente fue lo que está causando el error. Leí en alguna parte que si tengo el filtro xss activado, no necesito desinfectarlo globalmente.

Estoy teniendo un problema de protección CSRF muy extraño en CodeIgniter. Me he asegurado de usar form_open para iniciar mi formulario, csrf_protection se establece en true en el archivo config, y también me he asegurado de que los campos csrf name y value coincidan con la cookie csrf como se ve aquí: http: // d .pr / 3cfB .

Lo que sucede es que cuando envío el formulario, aparece "Se encontró un error. La acción que solicitó no está permitida". error y no estoy seguro de por qué. El formulario funciona bien cuando desactivo csrf_protection.

Lo que es aún más extraño es que utilizo la biblioteca tank_auth para mi autenticación y también usa form_open para el formulario de inicio de sesión. Revisé para asegurarme de que haya un campo csrf oculto en el formulario de inicio de sesión cuando csrf_protection esté activado y pude enviar el formulario e iniciar sesión sin ningún problema.

¿Pensamientos sobre lo que puedo hacer para solucionar este problema?


Para empezar, la clase de sesión espera un token llamado ''csrf_token_name'', no uno llamado ''csrf_salemarked_token $ ...''.

Esta publicación de blog cubre AJAX con protección CSRF en Codeigniter 2.0 .

Tank_auth obtiene el token del campo de formulario de entrada oculto, en lugar de la cookie. Sus solicitudes AJAX necesitan obtener el token del campo oculto si está disponible, o la cookie si no hay un formulario.