제목 | 웹 모바일 간 쿠키문제.. | ||
---|---|---|---|
글쓴이 | 떠날거야 | 작성시각 | 2016/06/21 14:14:01 |
|
|||
웹 페이지에서 훅을 사용하여 모바일 여부를 검사하여 페이지 리다이렉트를 시켜주고 있습니다. 모바일 페이지 접속 시 쿠키를 생성하여 모바일 페이지에서 pc버전을 눌렀을 시 pc버전에서 쿠키값 여부를 판단하여 쿠키값이 존재하면 pc버전으로 아니면 모바일 페이지로 리다이렉트 시켜주고 있습니다. 헌데 모바일에서 pc버전으로 갈 때 리다이렉트가 너무 많아 페이지가 로딩이 안됩니다. 무한 루프에 빠진 것 같은데 조건식을 보니 왜 무한루프가 된지 모르겠습니다.. codeigniter 3.0버전이고 config는 $config['sess_driver'] = 'files'; $config['sess_cookie_name'] = 'ci_session'; $config['sess_expiration'] = 7200; $config['sess_save_path'] = $_SERVER['DOCUMENT_ROOT'].'session'; $config['sess_match_ip'] = FALSE; $config['sess_time_to_update'] = 300; $config['sess_regenerate_destroy'] = FALSE; 입니다. hook에서 조건식은 if ($this->CI->agent->is_mobile()) { if(!isset(get_cookie('쿠키이름'))) { redirect('https://pc버전'); } else { redirect('https://모바일버전'); } } 입니다. 조그마한 도움이라도 주시면 감사합니다ㅠㅠㅠㅠㅠㅠ |
|||
다음글 | php기본 질문입니다.. (1) | ||
이전글 | ajax 질문. (4) | ||
kaido
/
2016/06/21 14:22:04 /
추천
0
|
떠날거야
/
2016/06/21 14:33:49 /
추천
0
kaido// 반복이 되지않고 무한 루프가 일어나지 않는 조건식 같은데, 모바일에서 pc버전으로 이동 시 리다이렉트값이 너무 많아 해당 페이지를 불러올 수 없다고 합니다. 제가 이해를 못하고 있는건가요.....? |
배강민
/
2016/06/21 15:25:06 /
추천
0
무한이 맞겠습니다. #01. 모바일이냐? #02. 쿠키가 있으면 PC로 가라는 정상이겠는데
#01. 모바일이냐? #02. 쿠키가 없냐? #03. 모바일로 가라 #04. 모바일이냐? #05. 쿠키가 없냐? #06. 모바일로 가라 ~ 무한 반복 ~ 여기가 문제가 될듯한 느낌이네요. 해본건 아니고, 코드만 본 냄새로요 |
떠날거야
/
2016/06/21 15:30:28 /
추천
0
배강민// test 해본 결과 모바일 페이지로 리다이렉트는 문제가 없는데 pc버전으로 리다이렉트가 문제네요.. pc버전으로 리다이렉트 시키면 조건 상관없이 무한 리다이렉트가 되고 있습니다.. |
kaido
/
2016/06/21 16:12:56 /
추천
0
자세히 보시면... 기기체크를 하는것과 쿠키가 있냐 없냐는 전혀 별개의 체크 입니다.
리다이렉트는 페이지를 호출해서 보여줌이 아니라 해당 페이지로 이동입니다. 즉 리다이렉트가 일어나는 순간 후킹으로 다시 체크를 시작 합니다. 후킹은 뭘로 오든 페이지에 접근 할때마다 체크를 합니다.
...응? 그러니깐 이론적으로 문제 없어 보이는데요? 어차피 체크 안 되는거 아닌가...? 라고 하신다면 리다이렉트 보내기 전에 alert 를 띄워서 현재 상황을 체크해 보세요. 쿠키 값과 현재 어디에서 체킹을 하고 있는지. 그럼 의문이 해결 될 것입니다.
|
떠날거야
/
2016/06/21 16:48:18 /
추천
0
kaiod// 배강민// hook조건 문에서 pc버전으로 리다이렉트 시킬필요가 없었네요.. 쿠키를 사용하는 궁극적 이유를 제가 까먹고 있었네요.. 덕분에 문제 해결 및 한번 더 공부를 할 수 있었습니다. 감사합니다! |
순환오류 맞는것 같은데요?
가정 1 모바일 에서 해당 페이지를 봄.
조건 1. 모바일 기기 인가? yes.
조건 2. 쿠키 이름이 있는가? yes -> PC로 슝~
가정2. 모바일이지만 PC페이지로 가서 다시 체크.
조건1. 모바일 기기 인가? yes
조건2 쿠키가 있는가? yes -> PC로 슝~~~
반복... 맞나요?