setURL($url); } /** * Check that the response for URL does not create a session * * @return array */ public function check() { $response = $this->client->get($this->getURL()); $cookie = $this->getCookie($response); $fullURL = $this->getURL(); if ($cookie) { return [ EnvironmentCheck::ERROR, "Sessions are being set for {$fullURL} : Set-Cookie => " . $cookie, ]; } return [ EnvironmentCheck::OK, "Sessions are not being created for {$fullURL} 👍", ]; } /** * Get PHPSESSID or SECSESSID cookie set from the response if it exists. * * @param ResponseInterface $response * @return string|null Cookie contents or null if it doesn't exist */ public function getCookie(ResponseInterface $response) { $result = null; $cookies = $response->getHeader('Set-Cookie'); foreach ($cookies as $cookie) { if (strpos($cookie ?? '', 'SESSID') !== false) { $result = $cookie; } } return $result; } }