제목 | tank_auth와 플래시 업로드 | ||
---|---|---|---|
글쓴이 | 룬룬 | 작성시각 | 2009/08/08 11:29:51 |
|
|||
하다하다 안되어 질문을 올려봅니다. 국내 프리웨어로 올라와있는 NfUpload 를 사용하고 있습니다. 로그인은 Tank_Auth를 사용하고 있고요. 로그인을 하면, 세션정보가 유지되면서 로그인 상태가 유지됩니다. 어느 페이지를 이동하여도 마찬가지죠. 이 상태에서 플래시 swf에서 업로드를 하게 되면 로그인세션이 풀려버립니다. (업로드를 받는 곳도 ci입니다.) 강제로 세션을 유지시키거나 도움될만한 팁을 알 수 있을까요? 요약하면, 플래시(swf)를 통해 ci에 접근을 하게 되면 로그인 세션이 풀려버리는 문제입니다. 참고로 크롬에서는 이러한 문제가 발생하지 않습니다. IE6, IE8에서는 모두 발생하네요. |
|||
다음글 | CI 와 fckeditor를 이용해서 게시판 만들기 중... (2) | ||
이전글 | 한국 개발자 포럼 ... 공개개발자 문의. (3) | ||
ci세상
/
2009/08/08 23:54:59 /
추천
0
|
룬룬
/
2009/08/09 00:54:18 /
추천
0
자답입니다.
CI의 세션처리에서 보안을 신경써서 그런지 user-agent 부분을 분석하는 곳이 있었습니다. config에서 session으로 검색하시면 나오고요. 브라우져가 접속해 있었는데, 갑자기 플래시로 치고 들어가니 차단해버렸나봅니다. 일단은 뾰족한 대안이 없어 FALSE로 놓고 작업을 진행하였습니다. :) |
ci세상
/
2009/08/09 09:49:17 /
추천
0
// Does the User Agent Match? if ($this->sess_match_useragent == TRUE AND trim($session['user_agent']) != trim(substr($this->CI->input->user_agent(), 0, 50))) { $this->sess_destroy(); return FALSE; }말씀하신 CI 세션부분이 이렇게 되어 있는데요 user_agent라는 부분이 사용자의 User Agent 정보(브라우저 정보 문자열에서 첫 50글자) 이정보를 담아두었는데요 ~~ 세션을 담을 시점에 브라우저 정보가 ~~ 플래쉬에 의해서 강제로 변경되었다? 이렇게 추측이 될것 같습니다. 플래쉬 소스의 header 정보를 지우고 다시한번 테스트 해보세요 ^^ CI 세션 브라우저 정보 체크는 보안보다는 기본이라서 TRUE가 맞는것 같습니다. ^^ ps / 아니면 user_agent 를 비교해 보셔서 플래쉬 사용 이전과 비교해서 어떤것이 변화되는지 확인해보시는것도 좋은 방법이겠네요^^ |
마냐
/
2009/08/10 22:59:38 /
추천
0
http://codeigniter.com/forums/viewthread/72146/
Haha you just gota love it, if I make ‘sess_match_useragent’ = FALSE then IE6 is fine but IE7 isn’t :O IE6은 되나 IE7은 똑같다? 라고 하는 것 같읍니다. http://blueb.net/blog/1393">http://link.allblog.net/16597835/http://blueb.net/blog/1393 CaKePHP에서 해결방법인데 어떻게 응용을 해야할지... session_start(); 만 하면 안되더군요. http://codeigniter.com/forums/viewthread/97399/ |
1. 호스팅 서버가 아니시라면 아래 세팅부분을 1로 변경해보세요.
php.ini > session.auto_start = 0
2. 만약 위의 문제가 아니라면
- 소스중 > header 부분을 주석처리후 재 테스트
- 설정파일에서 인코딩 부분 재점검
이래도 같은 증상이 발생하면 ~~ 패스코리아에 문의를 함 해보면 좋을것 같습니다. ^^