2011-09-22 21 views
5

Me pregunto si hay alguna opción donde puedo desactivar CSRF en un controlador/método específico. Tengo otro sitio que hace ping en mi sitio, pero me bloquean debido al CSRF.Codeigniter pregunta CSRF

¿Hay alguna forma de evitar esto?

+1

usted puede considerar para desactivar general "protección" CI CSRF porque se ha roto. En cambio, sepa lo que hace y proporcione controles de cordura para estar seguro (lo que debe hacer de todos modos para los controladores en cuestión). – hakre

+6

¿Tienes un enlace a cómo se rompe? primero escuché es todo. – Louis

Respuesta

7

Crear una pre_system gancho a continuación, poner el siguiente código dentro de su controlador de gancho:

if(stripos($_SERVER["REQUEST_URI"],'/controller/function') !== FALSE) 
{ 
    $CFG =& load_class('Config', 'core'); 
    $CFG->set_item('csrf_protection', FALSE); 
} 

Referencia: http://codeigniter.com/forums/viewreply/869900/

+0

Odio chocar con esto, pero solo quería decir que mientras esto funcione, no es tan seguro y la gente debería estar al tanto. Por ejemplo, si su controlador es api y la función es dos cosas, tiene "www.site.com/api/dosomething" deshabilitado. Pero, ¿qué impide que alguien vaya a "www.site.com/account/killkitten/api/dosomething"? CSRF deshabilitado. Gatito asesinado. ¿No? – twistedpixel