protected function CSRFSetHash(): string
	{
		if ($this->CSRFHash === null)
		{
			// If the cookie exists we will use its value.
			// We don't necessarily want to regenerate it with
			// each page load since a page could contain embedded
			// sub-pages causing this feature to fail
			if (isset($_COOKIE[$this->CSRFCookieName]) && is_string($_COOKIE[$this->CSRFCookieName]) && preg_match('#^[0-9a-f]{32}$#iS', $_COOKIE[$this->CSRFCookieName]) === 1
			)
			{
				return $this->CSRFHash = $_COOKIE[$this->CSRFCookieName];
			}

			$rand           = random_bytes(16);
			$this->CSRFHash = bin2hex($rand);
		}

		return $this->CSRFHash;
	}
protected function CSRFSetHash(): string
	{
		if ($this->CSRFHash === null)
		{
			// If the cookie exists we will use its value.
			// We don't necessarily want to regenerate it with
			// each page load since a page could contain embedded
			// sub-pages causing this feature to fail
			if (isset($_COOKIE[$this->CSRFCookieName]) && is_string($_COOKIE[$this->CSRFCookieName]) && preg_match('#^[0-9a-f]{32}$#iS', $_COOKIE[$this->CSRFCookieName]) === 1
			)
			{
				return $this->CSRFHash = $_COOKIE[$this->CSRFCookieName];
			}

			$rand           = random_bytes(16);
			$this->CSRFHash = bin2hex($rand);
		}

		return $this->CSRFHash;
	}
protected function CSRFSetHash ( ) : string { if ( $ this -> CSRFHash === null ) { // If the cookie exists we will use its value. // We don't necessarily want to regenerate it with // each page load since a page could contain embedded // sub-pages causing this feature to fail if ( isset ( $ _COOKIE [ $ this -> CSRFCookieName ] ) && is_string ( $ _COOKIE [ $ this -> CSRFCookieName ] ) && preg_match ( '#^[0-9a-f]{32}$#iS' , $ _COOKIE [ $ this -> CSRFCookieName ] ) === 1 ) { return $ this -> CSRFHash = $ _COOKIE [ $ this -> CSRFCookieName ] ; } $ rand = random_bytes ( 16 ) ; $ this -> CSRFHash = bin2hex ( $ rand ) ; } return $ this -> CSRFHash ; }
Sets the CSRF Hash and cookie.

@return string
@throws \Exception
Sets the CSRF Hash and cookie .