2016-05-01 15 views
0

デフォルトの管理PHPセッションでページを更新した場合、セッションは常に同じです。このクラスを使用してセッションをDBに保存すると、 ページを更新するたびにセッションが変更されます。ページを更新すると、なぜphpのセッションが変わるのですか?

なぜですか?それは普通ですか?

class SessionPDO implements SessionHandlerInterface 
    { 
     private $db; 

     public function __construct($pdo) 
     { 
      $this->db = $pdo->getHandler(); 
      session_set_save_handler($this, true); 
      $this->startSecureSession(); 
     } 


     public function startSecureSession() 
     { 
      session_name("session_name"); 
      session_set_cookie_params(
       7200,   //expiration - 0 is when browser closes 
       '/',   //path over which cookies will be sent 
       null,   //domain for cookie to operate 
       true,   //Secure cookie HTTPS only 
       true   //HTTP Only/No Javascript access 
      ); 

      $this->setSecureConfig(); 

      session_start(); 
     } 


     public function setSecureConfig() 
     { 
      ini_set('session.use_only_cookies', 1); 
      ini_set('session.cookie_httponly', 1); 
      ini_set('session.cookie_secure', 1); 
      ini_set('session.hash_function', 'sha256'); 
      ini_set('session.hash_bits_per_character', 6); 
      ini_set('session.entropy_file', '/dev/urandom'); 
      ini_set('session.entropy_length', 1024); 
      ini_set('session.use_trans_sid', 0); 
     } 

     public function open($path, $sessionName) 
     { 
      // open code 
     } 

     public function close() 
     { 
      // close code; 
     }  

     public function read($sessionID) 
     { 
      // read code 
     }  

     public function write($sessionID, $data) 
     { 
      // write code 
     }  

     public function destroy($sessionID) 
     { 
      // destroy code 
     } 

     public function gc($max) 
     { 
      // gc code 
     } 
    } 
+0

安全な接続を使用していない各要求に異なっているものを、「変更」を定義しますか? – Oldskool

+0

@OldskoolセッションIDが変更されます。デフォルトのPHPセッションでは、ページを5回リフレッシュすると、sessionIDは常に同じになります。私のクラスno:私はページを5回リフレッシュする場合、私は5つの異なるsessionIDを持っています。 – Webman

答えて

0

は解決:私はので、ローカルホスト上で0にsession.cookie_secureを設定する必要があり、私は

関連する問題