2011-08-23 4 views
1

아직 답변이 없기를 바라며 잠시 살펴본 결과 실제로 보지 못했습니다.Kohana 3.2 모든 요청시 세션 ID 재생성

데이터베이스 드라이버를 사용하여 Kohana 3.2 세션을 사용하고 있습니다. 문제는 페이지가로드되거나 새로 고침 될 때마다 새로운 세션 ID를 생성한다는 것입니다.

저는 세션 :: $ default = 'database'를 내 부트 스트랩에 설정했습니다. 세션 설정은 다음과 같습니다.

return array(
    'database' => array(
     /** 
     * Database settings for session storage. 
     * 
     * string group configuation group name 
     * string table session table name 
     * integer gc  number of requests before gc is invoked 
     * columns array custom column names 
     */ 
     'name'  => 'trucero_session', 
     'lifetime' => 1200, 
     'group' => 'default', 
     'table' => 'sessions', 
     'gc'  => 500, 
     'columns' => array(
      /** 
      * session_id: session identifier 
      * last_active: timestamp of the last activity 
      * contents: serialized session data 
      */ 
      'session_id' => 'session_id', 
      'last_active' => 'last_active', 
      'contents' => 'contents' 
     ), 
    ), 
); 

감사합니다.

답변

0

실제로 요청할 때마다 세션 ID가 다시 생성되므로 세션 ID를 신뢰할 수 없습니다. ID의 일종이 필요하면 맞춤 ID를 사용해야합니다.

+0

답장을 보내 주셔서 감사합니다 ... 내가 설정하고 사용자 지정 세션 ID를 사용하고 있습니다 ... 제 질문은 정상적인 것일 것 같군요/알았지? 세션 데이터가 있고 정확합니다, 나는 단지 세션으로 가득 찬 데이터베이스 테이블을 얻었습니다 ... 또한 그것들을 삭제하는 것 같지 않습니다 ... 나는 단지 짧은 수명을주기 위해 Gc를 설정했습니다. 삭제 여부를 확인할 수 있습니다. –

+0

예 세션 ID가 재생성되는 것은 정상이지만 오래 된 세션이 만료되면 삭제해야합니다. 'modules \ database \ classes \ kohana \ session \ database.php :: _ gc()'에 삭제 코드가 표시됩니다. 사실, 삭제 코드가 해고되는지 확인하기 위해 짧은 기간 동안 시도 할 수 있습니다. –

1

Laurent는 정말로 귀하의 질문을 이해하지 못했을 것입니다. 단 하나의 세션 ID가 생성되어 페이지 새로 고침 사이에 사용되어야하기 때문입니다. 즉, 세션을 갖는 요점은 매번 같은 세션을 다시 사용할 수 있기 때문입니다. 페이지에 액세스 할 때

새 브라우저로 페이지를 열거 나 기존 브라우저를 닫은 다음 새 브라우저를 열거 나 페이지에서 로그 아웃 한 것처럼 현재 세션을 삭제 한 다음 새 세션 ID를 만들면 새 세션 ID가 만들어집니다 새로운 것 (..by 로그인).

하지만 Kohana 3.2에서 스크립트가 각 페이지 읽기마다 여러 세션 ID를 생성하고 세션이 "읽기"되지 않았던 비슷한 문제를 발견했습니다. 새 session_id가 각 페이지 새로 고침/액세스에서 만들어 졌기 때문입니다.

http://forum.kohanaframework.org/discussion/10303/session-problem-with-ie-and-chrome/p1

기본적으로 당신이 FALSE 중 하나에 쿠키 :: 도메인을 설정할 필요가 있다고 말한다 :이 게시물 (내 경우) Google 크롬 브라우저까지 내가 주위를 파고 후에이 문제를 추적 할 수 발견했다 Kohana 데이터베이스 세션이 Chrome 및 IE에서 제대로 작동하려면 특정 도메인으로 이동해야합니다.

+0

똑같은 문제가 있습니다 (Kohana 3.1). 이 답변에 설명 된대로 Cookie :: domain을 설정해도 문제가 해결되지 않았습니다. – PeterG