내 현재 작업에는 사람들이 로그인 할 수있는 사이트가 포함되어 있으며 특정 주제에 대한 일련의 교육 비디오를 볼 수 있습니다. CodeIgniter에서 이것을 개발했습니다. 유일한 문제는 일단 내가 로그인하고 세션을 만들면 세션이 몇 분 후에 불가사의하게 사라지는 것 같아서 신비스럽게 로그인 페이지로 되돌아갑니다. (누군가가 .? sess_time_to_update 처음에 너무 높게 설정되어 왜CodeIgniter없이 내 세션을 파괴
$config['sess_cookie_name'] = 'cc_session';
$config['sess_expiration'] = 0;
$config['sess_expire_on_close'] = FALSE;
$config['sess_encrypt_cookie'] = FALSE;
$config['sess_use_database'] = TRUE;
$config['sess_table_name'] = 'cc_sessions';
$config['sess_match_ip'] = TRUE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update'] = 3000000;
, 나는 5 후 세션을 갱신, 즉 범인이라고 생각 : 로그인받지 않고 교육 비디오 페이지이 내 config.php를 페이지에 코드 블록이다 분, 데이터베이스에 기록 할 세션과 모든 좋은 것들을 설정했습니다. 제발, 저에게 질문을하고 이것 저 밑으로 가도록 도와주세요!
나는 iFrame을 가지고 있다고 지적해야합니다. 코스 페이지에 이런 식으로 서버에 "핑 (ping)"을 되돌려 보내고 있습니다 ...
<iframe id="timerAddEnd" style="display:none;" src="http://www.example.com/course/finish/<?=$course->intKey?>/ping" >
</iframe>
<script type="text/javascript">
var auto_refresh = setInterval(function()
{
var iframe = document.getElementById('timerAddEnd');
iframe.src = iframe.src;
}, 60000);
// refresh every minute
</script>
이것은 범인이 될 수 있습니까? 나는 이것이 초기 문제에 대한 빠르고 더러운 수정이되기를 바랐다.
흥미 롭습니다. 파이어 폭스에서 파이어 버그를 사용할 수 없게 만들었습니다. 그리고 그것은 밤새도록 세션을 유지 한 것 같습니다. 이것은 아주 좋은 일입니다!지금, 제 질문은 이것입니다 : 사람들이 그들의 컴퓨터에서 어떤 브라우저와 확장 기능을 사용하고 있는지 예측할 수 없기 때문에 아마도 서버 수준에서 구현할 수있는 문제가 있습니까? 이 문제는 많은 사람들에게 영향을 미치고 있으며 많은 사람들 (나는 그들 중 대부분이 사용하고있는 브라우저 또는 확장 기능을 이해하지 못한다고 생각합니다). 그들은 우리와 같은 개발자가 아닌 도급업자입니다. –
당신은 약간 잘못되었습니다 :) CI는 IP 및/또는 사용자 에이전트가 한 요청에서 다른 요청으로 (동일한 세션 동안) 변경할 경우에만 세션을 무효화합니다. ** CI에는 '유효한 사용자 에이전트'** 또는 유사한 유사어 목록이 없습니다. 따라서 사용자는 안전합니다. 경험을 통해 내가 한 때 CI 세션 기반 인증 시스템을 사용했음을 알 수 있습니다.이 인증 시스템은 나에게 문제를 일으킨 설정입니다. (당신과 같은 이유로 - 당시에는 알지 못했지만) , 클라이언트는 그가 임의/일시적인 로그 아웃 문제를 가지고 있다고 언급하지 않았다. 그리고 그것은 까다로운 고객이었습니다. –
+1 훌륭한 픽업 :) – Usman