Welcome Guest, Not a member yet? Register   Sign In
CSRF : Codeigniter / VueJs VIA JSON
#2

(10-22-2019, 02:20 PM)bartMommens Wrote: Hola,

Actualmente estamos usando VUEJS aquí, tuvimos un "hickup" con la protección csrf de Codeigniter al enviar datos json en lugar de los datos de
formulario predeterminados  . Después de investigar un poco, encontramos varios artículos que sugerían reescribir la función csrf_verify de la clase principal CI_Securtiy:

Ejemplo:
http://teknosains.com/i/how-to-ajax-csrf-token-in-codeigniter-3- and-angularjs

Pero realmente no soy un gran fanático de las funciones principales de CI.

Creo que hay una solución más simple (si sólo está utilizando el método POST) con sólo rellenar la variable $ _POST (que está vacío) con el JSON decodificado de  php: // input y llamar a la  csrf_verify ()  la función  de la  matriz CodeIgniter 

PHP Code:
<?php

class MY_Security extends CI_Security
{
    public function csrf_verify()
    {
        /* Fill the $_POST since it is empty with data with php://input (decode json) */
        $_POST json_decode(file_get_contents('php://input'),true);
        /* call parent csrf_verify function (now $_POST is not empty) */
        parent::csrf_verify();
     }



CI_Security, no tiene que anular toda la función y actualizar el núcleo de CI y no tener que preocuparse por los cambios que faltan en la función  csrf_verify ().

¿Alguien puede verificar mi enfoque y que es viable, de modo que los usuarios en el futuro que luchan con este mismo problema puedan encontrar una solución rápida en esta publicación ... sin tener que perder varias horas como lo hicimos nosotros?

Todo funciona como se esperaba, pero quiero estar seguro de que esto no causa agujeros de seguridad y, por lo tanto, da a las personas un código incorrecto.

Gracias por adelantado.
Bart
Reply


Messages In This Thread
RE: CSRF : Codeigniter / VueJs VIA JSON - by yealoaiza - 11-06-2020, 11:22 AM



Theme © iAndrew 2016 - Forum software by © MyBB