public function testIsValidAsCookieDomain() { $this->assertFalse(tao_helpers_Uri::isValidAsCookieDomain('http://mytaoplatform')); $this->assertFalse(tao_helpers_Uri::isValidAsCookieDomain('http://my-tao-platform')); $this->assertFalse(tao_helpers_Uri::isValidAsCookieDomain('mytaoplatform')); $this->assertFalse(tao_helpers_Uri::isValidAsCookieDomain('mytaoplatform/items/')); $this->assertFalse(tao_helpers_Uri::isValidAsCookieDomain('')); $this->assertTrue(tao_helpers_Uri::isValidAsCookieDomain('http://mytaoplatform.com')); $this->assertTrue(tao_helpers_Uri::isValidAsCookieDomain('http://my-tao-platform.ru')); $this->assertTrue(tao_helpers_Uri::isValidAsCookieDomain('http://www.mytaoplatform.com')); $this->assertTrue(tao_helpers_Uri::isValidAsCookieDomain('http://www.-my-tao-platform.ru')); $this->assertTrue(tao_helpers_Uri::isValidAsCookieDomain('http://my.taoplatform.com')); $this->assertTrue(tao_helpers_Uri::isValidAsCookieDomain('http://my.tao.platform.qc.ca')); $this->assertTrue(tao_helpers_Uri::isValidAsCookieDomain('http://my.TAO.plAtfOrm.qc.cA')); $this->assertFalse(tao_helpers_Uri::isValidAsCookieDomain('http://.my.tao.platform.qc.ca')); }
/** * Start the session */ protected function session() { if (tao_helpers_Context::check('APP_MODE')) { // Set a specific ID to the session. $request = new Request(); if ($request->hasParameter('session_id')) { session_id($request->getParameter('session_id')); } } // set the session cookie to HTTP only. $this->configureSessionHandler(); $sessionParams = session_get_cookie_params(); $cookieDomain = true == tao_helpers_Uri::isValidAsCookieDomain(ROOT_URL) ? tao_helpers_Uri::getDomain(ROOT_URL) : $sessionParams['domain']; session_set_cookie_params($sessionParams['lifetime'], tao_helpers_Uri::getPath(ROOT_URL), $cookieDomain, $sessionParams['secure'], TRUE); session_name(GENERIS_SESSION_NAME); if (isset($_COOKIE[GENERIS_SESSION_NAME])) { // Resume the session session_start(); //cookie keep alive, if lifetime is not 0 if ($sessionParams['lifetime'] !== 0) { $expiryTime = $sessionParams['lifetime'] + time(); setcookie(session_name(), session_id(), $expiryTime, tao_helpers_Uri::getPath(ROOT_URL), $cookieDomain, $sessionParams['secure'], true); } } }