- 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
 | 
					     * @return  boolean
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    public function set(
 | 
					    public function set(
 | 
				
			||||||
        ?string $name,
 | 
					        ?string $key,
 | 
				
			||||||
        ?string $value = null,
 | 
					        ?string $value = null,
 | 
				
			||||||
        ?int $expires = null,
 | 
					        ?int $expires = null,
 | 
				
			||||||
        ?string $path = null,
 | 
					        ?string $path = null,
 | 
				
			||||||
@ -47,9 +47,11 @@ class Cookie {
 | 
				
			|||||||
            return false;
 | 
					            return false;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        $key = $this->normalizeKey($key);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        $expires = ! $expires ? 0 : time() + (int) $expires;
 | 
					        $expires = ! $expires ? 0 : time() + (int) $expires;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        $_COOKIE[$name] = $value;
 | 
					        $_COOKIE[$key] = $value;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        $options = [
 | 
					        $options = [
 | 
				
			||||||
            'expires'  => $this->options['expires']  ?? ( $expires ?: 0 ),
 | 
					            'expires'  => $this->options['expires']  ?? ( $expires ?: 0 ),
 | 
				
			||||||
@ -64,7 +66,7 @@ class Cookie {
 | 
				
			|||||||
            $value = sha1($this->secureHash . $value . $this->secureHash) . "|$value";
 | 
					            $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
 | 
					    protected function normalizeKey(string $key) : string
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        return str_replace(['.', ' ',], '_', $key);
 | 
					        return str_replace([',', ';', ' ', '='], '_', $key);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user