Saltar al contenido

¿Cómo corregir la advertencia “establecer la cookie de SameSite en ninguna”?

Solución:

También estoy en una “prueba y error” por eso, pero esta respuesta de Github de Google Chrome Labs me ayudó un poco. Lo definí en mi archivo principal y funcionó, bueno, solo para un dominio de terceros. Todavía estoy haciendo pruebas, pero estoy ansioso por actualizar esta respuesta con una mejor solución 🙂

EDITAR: Estoy usando PHP 7.4 ahora, y esta sintaxis funciona bien (septiembre de 2020):

$cookie_options = array(
  'expires' => time() + 60*60*24*30,
  'path' => "https://foroayuda.es/",
  'domain' => '.domain.com', // leading dot for compatibility or use subdomain
  'secure' => true, // or false
  'httponly' => false, // or false
  'samesite' => 'None' // None || Lax || Strict
);

setcookie('cors-cookie', 'my-site-cookie', $cookie_options);

Si usted tiene PHP 7.2 o inferior (como respondió Robert a continuación):

setcookie('key', 'value', time()+(7*24*3600), "/; SameSite=None; Secure");

Si su host ya está actualizado a PHP 7.3, puedes usar (gracias al comentario de Mahn):

setcookie('cookieName', 'cookieValue', [
  'expires' => time()+(7*24*3600,
  'path' => "https://newbedev.com/",
  'domain' => 'domain.com',
  'samesite' => 'None',
  'secure' => true,
  'httponly' => true
]);

Otra cosa que puede intentar para verificar las cookies es habilitar la marca a continuación, que, en sus propias palabras, “agregará mensajes de advertencia a la consola para cada cookie que pueda verse afectada por este cambio”:

chrome://flags/#cookie-deprecation-messages

Vea el código completo en: https://github.com/GoogleChromeLabs/samesite-examples/blob/master/php.md, tienen el código para same-site-cookies también.

A medida que viene la nueva característica, SameSite=None las cookies también deben estar marcadas como Secure o serán rechazados.

Se puede encontrar más información sobre el cambio en las actualizaciones de cromo y en esta publicación de blog.

Nota: no del todo relacionado directamente con la pregunta, pero podría ser útil para otros que aterrizaron aquí, ya que fue mi preocupación al principio durante el desarrollo de mi sitio web:

si ve la advertencia de la pregunta que enumera algunos sitios de terceros (en mi caso fue google.com, eh), eso significa ellos necesita arreglarlo y no tiene nada que ver con su sitio. Por supuesto, a menos que la advertencia mencione su sitio, en cuyo caso agregar Secure debería arreglarlo.

>= PHP 7.3

setcookie('key', 'value', ['samesite' => 'None', 'secure' => true]);

< PHP 7.3

exploit the path
setcookie('key', 'value', time()+(7*24*3600), "/; SameSite=None; Secure");

Emitting javascript

echo "<script>document.cookie('key=value; SameSite=None; Secure');</script>";
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *