2013-10-04 3 views
0

일부 전자 지불 작업을 수행하는 프로그램에 Drupal 6을 사용하고 있습니다. 로그인한다는 것은 브라우저가 사용자의 민감한 금융 정보에 액세스 할 수 있음을 의미하므로 비활성 기간 후에 세션이 시간 초과되는지 확인하려고합니다.Drupal 세션이 논리적으로 보이지 않습니다.

ini_set('session.cookie_lifetime', 600); //expire after 10 minutes of inactivity 

그러나이 관계없이 로그인 이후 모든 활동을했다 여부를 10 분 밖에 사용자를 기록

내가 사용했습니다.

수명이 길고 수명이 오래 걸리지 않고 세션이 만료 된 후에이 설정을 사용하도록 설정을 변경하거나 사용하는 다른 설정이 있습니까?

답변

0

Drupal을 사용하면 로그 아웃 할 때까지 로그인 상태를 유지할 수 있습니다. 이것은 논리적으로 보일지 모르지만 사람들이 큰 글을 쓰거나 일시 중지 한 후에 글쓰기를 재개하는 데 많은 의미가 있습니다. 하루를 보낸 후에 게시물을 제출하고 오류가 발생하면 실망 할 수 있습니다. 세션이 만료되었습니다.

그렇다면 Automated logout 모듈을 검토하면 신청서 요구 사항에 도움이 될 것 같습니다.

+0

내 제목이 최고가 아님을 압니다. 나는 drupal의 세션 타이머가 절대 시간보다는 비활성에 기반을 둘 것이라고 생각했다. (23 일 동안 큰 게시물이 시간이 지남에 따라 깨지는 것을 허용하더라도). 어쨌든, 그 링크를 주셔서 감사합니다, 그것은 매우 유망 보인다. 그것이 나를 위해 잘 될 것 같으면 나는 다시보고 할 것이다. – BlargleMonster

0

자신 만의 솔루션을 구현해야합니다. 설정을 변경하여 신뢰할 수있는 방법이 없습니다. 당신이 더 많은 정보가 필요하면 How do I expire a PHP session after 30 minutes?

그 질문에 최고 대답에서 촬영이 답을 체크 아웃 :

또한
if (isset($_SESSION['LAST_ACTIVITY']) && (time() - $_SESSION['LAST_ACTIVITY'] > 1800)) { 
    // last request was more than 30 minutes ago 
    session_unset();  // unset $_SESSION variable for the run-time 
    session_destroy(); // destroy session data in storage 
} 
$_SESSION['LAST_ACTIVITY'] = time(); // update last activity time stamp 

당신은 설정할 것 :

ini_set('session.cookie_lifetime', 0); 

을 그래서 결코 만료되지 것을 그것의에 그들이 브라우저를 닫지 않으면 소유하십시오.

+0

'session_unset();과'session_destroy();는 효과적으로 Drupal 세션을 파괴합니까? – BlargleMonster

+0

예, PHP 세션을 파괴합니다. – Pitchinnate