diff --git a/src/Cookie.php b/src/Cookie.php index 7af40ab..5ea280c 100644 --- a/src/Cookie.php +++ b/src/Cookie.php @@ -32,7 +32,7 @@ class Cookie { * @return boolean */ public function set( - ?string $name, + ?string $key, ?string $value = null, ?int $expires = null, ?string $path = null, @@ -47,9 +47,11 @@ class Cookie { return false; } + $key = $this->normalizeKey($key); + $expires = ! $expires ? 0 : time() + (int) $expires; - $_COOKIE[$name] = $value; + $_COOKIE[$key] = $value; $options = [ 'expires' => $this->options['expires'] ?? ( $expires ?: 0 ), @@ -64,7 +66,7 @@ class Cookie { $value = sha1($this->secureHash . $value . $this->secureHash) . "|$value"; } - return $raw ? setrawcookie($name, $value ?: "", $options) : setcookie($name, $value ?: "", $options); + return $raw ? setrawcookie($key, $value ?: "", $options) : setcookie($key, $value ?: "", $options); } /** @@ -161,6 +163,6 @@ class Cookie { protected function normalizeKey(string $key) : string { - return str_replace(['.', ' ',], '_', $key); + return str_replace([',', ';', ' ', '='], '_', $key); } }