Bug #77612 [Opn->Ver]: setcookie() sets incorrect SameSite header if all of its options filled

From: Date: Wed, 13 Feb 2019 12:57:04 +0000
Subject: Bug #77612 [Opn->Ver]: setcookie() sets incorrect SameSite header if all of its options filled
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-219553@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=77612&edit=1 ID: 77612 Updated by: yohgaki@php.net Reported by: yura3d at tut dot by Summary: setcookie() sets incorrect SameSite header if all of its options filled -Status: Open +Status: Verified Type: Bug Package: HTTP related Operating System: Debian 9.7/Kernel 4.9.0 PHP Version: 7.3.2 Block user comment: N Private report: N New Comment: It seems this feature hasn't tested well. Just need more buffer. Patch attached. Previous Comments: ------------------------------------------------------------------------ [2019-02-13 12:19:36] yura3d at tut dot by Description: ------------ If I call setcookie(string $name, string $value, array $options) with all of options passed (expires, path, domain, secure, httponly, samesite), PHP generates incorrect Set-Cookie HTTP header: SameSite parameter is empty if I set "Lax", or "Str" if I set "Strict". But if I miss, for example, one option for setcookie (let it be "path"), everything is fine. This behavior doesn't depend on cookie value length. Test script: --------------- setcookie('key', 'value', [ 'expires' => time() + 31536000, 'path' => '/', 'domain' => 'example.com', 'secure' => true, 'httponly' => true, 'samesite' => 'Lax' ]); // Expected: // Set-Cookie: key=value; expires=Thu, 13-Feb-2020 12:06:47 GMT; Max-Age=31536000; path=/; domain=example.com; secure; HttpOnly; SameSite=Lax // Actual: // Set-Cookie: key=value; expires=Thu, 13-Feb-2020 12:06:47 GMT; Max-Age=31536000; path=/; domain=example.com; secure; HttpOnly; SameSite= ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=77612&edit=1

« previous php.bugs (#219553) next »