Estoy convertir la matriz en una cookie en php función serialize

$PromoteProductArray = array("PromoteuserId"=>$PromoteuserId,
"PromoteProductId"=>$PromoteProductId,
"PromoteBrandId"=>$PromoteBrandId);

$Promotedcart[] = $PromoteProductArray;

setcookie("Promotedcart", serialize($Promotedcart), time()+604800,'/');

Y cuando la cookie se crea entonces yo estoy usando la unserialize función de php.

print_r(unserialize($_COOKIE['Promotedcart'])); 

no funciona.

Cuando me print_R($_COOKIE) luego me muestra el valor.

  • Datos de prueba puede ser muy útil, puedes publicar de la muestra
  • Ver a esta pregunta de StackOverflow para una mejor respuesta.
  • Por favor, no utilice unserialize en datos enviados por un usuario. Esto es fácilmente explotable con objeto de inyección utilizando PHP __wakeup y __destruct métodos. Usted puede utilizar json_encode/json_decode en lugar de serialize/unserialize. owasp.org/index.php/PHP_Object_Injection
InformationsquelleAutor Amit | 2011-09-14

3 Comentarios

  1. 0

    Cookies separados por punto y coma. Serializa las cadenas con las matrices contienen dentro de ellos. Tal vez esto es un problema. Usted puede utilizar base64 para evitar todo posible escapar de problemas.

    • Traté de base64 que también : (, pero el resultado no
  2. 0

    Puede utilizar json_encode, json_decode funciones para lograr esto como una alternativa.

    $PromoteProductArray = array("PromoteuserId"=>$PromoteuserId,
    "PromoteProductId"=>$PromoteProductId,
    "PromoteBrandId"=>$PromoteBrandId);
    $Promotedcart[] = $PromoteProductArray;
    setcookie("Promotedcart", json_encode($Promotedcart), time()+604800,'/');
    $result = json_decode($_COOKIE['Promotedcart'], true);
    print_r($result);

    Darle una oportunidad, esto debería funcionar.

Dejar respuesta

Please enter your comment!
Please enter your name here