TIP게시판

제목 IE에서 간혈적으로 로그인 안되는 현상 해결방법 모음.
글쓴이 홍즈 작성시각 2016/12/21 09:54:59
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 2217   RSS

 

제 환경은 서버는 리눅스 우분투였고 CI는 3.0.0 버전이었습니다.

문제는 어느 시점부터 갑자기 IE에서만 로그인 세션이 멋대로 풀린뒤 그뒤부터는 일정기간동안 로그인이 되지 않는 문제 였고

이 문제는 간혈적으로 일어났습니다. 즉 모든 IE에서 안되는것이 아닌 불특정 다수 형태로 일어났습니다.

이로인해 하루에 로그인관련 고객전화만 10통넘게 받았고 이에 대한 해결방법은 고객의 PC에 원격접속하여 쿠키 캐시를 삭제해주는 일이고 근본적인 원인을 찾지 못하고 있었습니다.

 

여러루트를 통해 검색해본바로 이 문제는 CI 기본 Session.php의 고질적인 문제이기도 한듯하더군요.

그러면서 찾은 몇가지 해결방법은 다음과 같습니다.

 

 

1. 이제 개발시작하시는 분들이라면 CI_Sesson 즉 /system/libraries/Session/session.php 를 사용하지말고 다른 것으로 대체

 :근데 이미 운영중인 서비스라면 이는 좀 위험한 선택이 될수도 있죠.

 

2. /application/config/config.php 에서  쿠키 관련된 부분을 체크

   - $config['sess_cookie_name'] = '이름'  

   - $config['sess_match_useragent'] = FALSE;

   - $config['sess_match_ip'] = FALSE;   

  쿠키 이름에는 언더바가 들어가지 않도록 ( 예 : ci_session -->  cisession ) 하시고 나머지 두옵션은 FALSE로 설정

 

   - $config['cookie_prefix'] = '';

   - $config['cookie_domain'] = '.도메인';

  에서 cookie_prefix 에도 언더바가 들어가있다면 제거 하시거나 아에 비워두시는게 좋을것 같고 cookie_domain의 도메인이 잘 설정되어 있는지 체크 해보세요.

 

3. 서버 시간이 정확한지 체크. 서버시간이 맞지 않아서 세션문제가 생길수도 있다는 글이 있었네요.

 

저 같은경우는 일주일넘게 끙끙대며 1, 2, 3 을 모두 해보았지만 안되었습니다. 

 

4. 만약 로그인 부분을 ajax를 이용하여 구현하셨다면 

 -  jquery 파일의 ajaxSetup 콜백함수중에 cache: false 로 설정되어있는지 체크해보세요.

 - 혹시 사이트의 전체 페이지에서 동일한 버전의 jquery를 불러오는지 체크해보세요. 

저의 경우는 4번의 방법으로 해결했습니다.  서비스에 신규 페이지를 붙이는 작업에서 그 서비스에 특정 기능이 필요했고 퍼블리셔가 별생각없이 사이트 공통으로 사용하는 jquery 버전은 1.7.2 였는데  그 페이지에서 1.9.1 버전을 붙였더군요. 이걸 맞춰주는 작업을 했더니 로그인 문제가 사라졌습니다.

 

5. 그래도 해결이 안되신다면  로그인 페이지 요청시 sess_destroy() 구문을 한번 실행한뒤 로그인 페이지를 보여주는 방식으로 구현을 해보세요.  근본적인 로그인이 풀리는 현상에 대한 해결은 아니지만 급한불은 끌수 있을지도 모르는 방법인데, 이를테면 기존에 로그인페이지를 요청하면 로그인 뷰를 반환하는식으로만 되어있었다면, 로그인을 요청하면 CI_Session.php의 sess_destroy() 함수호출을 통해 리셋을 시켜준뒤 로그인 뷰를 반환하는 방식입니다

 

 

도움이 되실지 모르겠지만 제가 끙끙댔던 부분에서 원하시는 결과가 있으실수도 있을까봐 공유드립니다. 감사합니다.

 다음글 Codeigniter 3와 Sentry 연동 쉽게하기 (7)
 이전글 forge + git push를 이용한 배포방법입니다. (4)

댓글

변종원(웅파) / 2016/12/21 10:57:53 / 추천 0

^^ 

 

홍즈 / 2016/12/21 11:17:49 / 추천 0
웅파님 도움이 매우 많이되었습니다. 감사합니다.
한대승(불의회상) / 2016/12/21 13:00:40 / 추천 0

잘 정리해 주셔서 감사합니다. ^^