CI 묻고 답하기

제목 ajax 응답이 200 OK 에서 10분정도 경과후 매뉴를 다시 클릭하면 302 Found 가 뜹니다.
글쓴이 이제다시 작성시각 2013/01/21 17:02:56
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 20582   RSS
200 OK
92ms

최초 매뉴 클릭시 ajax 응답이 200으로 떨어지는데

10분 경과후 다시 매뉴를 클릭하면

302 Found
20ms

302 가 뜨면서 데이터가 출력이 안됩니다.

그후 다시 매뉴를 클릭하면 정상적으로

200 OK
50ms

200 이 떠서 데이터가 뿌려집니다.

$('#menu3').click(function(){
    location.href="/web_media/stats";
});

메뉴이동은 위와 같이 하고요

세션은 echo 문으로 찍어봤는데 정상적으로 가지고 있고요.

익스/파이어폭스 둘다 마찬가지이내요.
10분이내에 클릭하면 정상적으로 데이터를 뿌려줍니다.
매뉴클릭이 아니라 F5(새로고침) 을해도 같은현상이 나타나내요

url = "ajax_cont/all_stats";

$.ajax({
    url:url,
    type:'get',
    dataType:'json',
    data:{
        limit:$('#pagesize').val(),
        page:page,
        sdate:$('#sdate').val(),
        edate:$('#edate').val(),
        zone_select:$('#zone_select').val(),
        cate2:$('#cate_2_code').val()
    },
    success:load_all_stats
});
위는 ajax 구문입니다.
태그 ajax
 다음글 위젯 관련 질문이요. (4)
 이전글 Tutorial − News section 에서 URL... (5)

댓글

이제다시 / 2013/01/21 17:30:02 / 추천 0
GET 데이터를 보니 메인페이지 데이터를 전송 받았내요
이제다시 / 2013/01/22 14:31:01 / 추천 0
원인을 찾아보니
$config['sess_time_to_update']    = 300;

ajax요청이 없는 페이지에서는 상관이 없는데

ajax 요청시에는 세션이 없데이트 되버려서 리다이렉트되서 302가 뜬거 더라구요

이거 버그라는데 혹시 고치신분 계시나요?
이제다시 / 2013/01/22 15:25:26 / 추천 0
http://ellislab.com/forums/viewthread/138823/


ajax 요청시에는 세션업데이트를 안하는 거 같은데
저는 페이지 이동후 ajax 호출을 하기 때문에 위 방법도 안통하는거 같내요.

결국 $config['sess_time_to_update']    = $config['sess_expiration'];
세션 업데이트 시간을 늘리는 방법으로 해결을 봤는데 뭔가 찜찜하내요.

$config['sess_match_ip']        = TRUE;
$config['sess_match_useragent']    = TRUE;

세션업데이트를 안하고 저 정도 옵션만 줘도 보안에 취약하지 않을까요?