- Fixed a problem within key normalization which was wrongly removing dots (instead of commas) and also missing semicolon and equals
This commit is contained in:
parent
d688a4c49d
commit
17a83db6c2
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue