질문 Q #10273
ajax 응답이 200 OK 에서 10분정도 경과후 매뉴를 다시 클릭하면 302 Found 가 뜹니다.
이제다시 2013-01-21 17:02:56
GET http://adexchange.adnew.co.kr/web_media/ajax_con...imit=20&page=1&sdate=&edate=&zone_select=&cate2=
200 OK
92ms

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

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

GET http://adexchange.adnew.co.kr/web_media/ajax_con...imit=20&page=1&sdate=&edate=&zone_select=&cate2=
302 Found
20ms

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

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

GET http://adexchange.adnew.co.kr/web_media/ajax_con...imit=20&page=1&sdate=&edate=&zone_select=&cate2=
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 구문입니다.
답변 3
#1 이제다시 2013-01-21 17:30:02
GET 데이터를 보니 메인페이지 데이터를 전송 받았내요
#2 이제다시 2013-01-22 14:31:01
원인을 찾아보니
$config['sess_time_to_update']    = 300;

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

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

이거 버그라는데 혹시 고치신분 계시나요?
#3 이제다시 2013-01-22 15:25:26
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;

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