示例#1
0
 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);
         }
     }
 }