끊기지 않는 세션을 만들려면 어떻게?
여기에 질문 올려 죄송합니다 ^^;;;;;
세션함수를 아무리 주물러도 원하는 결과를 얻을수 없네요
세션의 저장기간을 연장하는것도 힘들지만 줄이는것 역시 힘드네요 왜그러죠?? ^^
제가 궁금한건..
모바일싸이트의 경우 단말 아이피가 유동적으로 계속 바뀌는데
세션의 유지기간을 연장하더라도 아이피라든지 여타 접속 환경에 따라
로긴을 유지하는 스킴이 일밥 웹하곤 다를것 같다는 생각이 드는데요..
혹시 네이버처럼 모바일에서 로긴 유지하는 팁 없을까요????
제발~~~~
세션함수를 아무리 주물러도 원하는 결과를 얻을수 없네요
세션의 저장기간을 연장하는것도 힘들지만 줄이는것 역시 힘드네요 왜그러죠?? ^^
제가 궁금한건..
모바일싸이트의 경우 단말 아이피가 유동적으로 계속 바뀌는데
세션의 유지기간을 연장하더라도 아이피라든지 여타 접속 환경에 따라
로긴을 유지하는 스킴이 일밥 웹하곤 다를것 같다는 생각이 드는데요..
혹시 네이버처럼 모바일에서 로긴 유지하는 팁 없을까요????
제발~~~~
session
| Session Support | enabled |
| Registered save handlers | files user |
| Directive | Local Value | Master Value |
|---|---|---|
| session.auto_start | Off | Off |
| session.bug_compat_42 | On | On |
| session.bug_compat_warn | On | On |
| session.cache_expire | 9999999999 | 180 |
| session.cache_limiter | private | nocache |
| session.cookie_domain | ..... | no value |
| session.cookie_lifetime | 0 | 0 |
| session.cookie_path | / | / |
| session.cookie_secure | Off | Off |
| session.entropy_file | no value | no value |
| session.entropy_length | 0 | 0 |
| session.gc_divisor | 100 | 100 |
| session.gc_maxlifetime | 9999999999 | 5400 |
| session.gc_probability | 1 | 1 |
| session.name | PHPSESSID | PHPSESSID |
| session.referer_check | no value | no value |
| session.save_handler | files | files |
| session.save_path | ../data/session | /tmp |
| session.serialize_handler | php | php |
| session.use_cookies | On | On |
| session.use_only_cookies | Off | Off |
| session.use_trans_sid | Off | Off |
댓글 13개
12년 전
곰곰히 생각을 해봤는데..
모바일의 경우 개인기기이기 때문에 굳이 세션을 이용할 필요가 없을것 같다는 생각이 드는데요..
모바일의 고유번호?? 이게 뭔지는 모르겠지만.. 이런게 있다면 읽어서
로그인시 디비에 쓰고 다음 접속시 1순위로 고유번호와 디비가 일치하면 로긴유지
다르다면 로긴요구 이렇게 하는 방법도 있지 않을까 싶습니다.
다른 아이디로 로긴할 필요도 있기 때문에 로그 아웃시 디비를 초기화 하고..
이게 구현 가능할지도 의문이고
또 이렇게 하면 어떤 문제가 있을까요?
모바일의 경우 개인기기이기 때문에 굳이 세션을 이용할 필요가 없을것 같다는 생각이 드는데요..
모바일의 고유번호?? 이게 뭔지는 모르겠지만.. 이런게 있다면 읽어서
로그인시 디비에 쓰고 다음 접속시 1순위로 고유번호와 디비가 일치하면 로긴유지
다르다면 로긴요구 이렇게 하는 방법도 있지 않을까 싶습니다.
다른 아이디로 로긴할 필요도 있기 때문에 로그 아웃시 디비를 초기화 하고..
이게 구현 가능할지도 의문이고
또 이렇게 하면 어떤 문제가 있을까요?
12년 전
좋은 생각같은데요...
12년 전
세션 삽질한 이유는 찾았네요.. 에휴~
session.gc_probability = 1 이게 문제였군요 divisor와 연계해서 1% 확률로 동작하기때문에
아무리 lifetime을 조정해도 100번 시도 1번 삭제네요..
방문자가 많은 싸이트는 꼭 1로 해야 하나 테스트 용도웹이라면 이걸 꼭 100으로 놓고 시험해야 되네요..
이건 정말 팁입니다 ^^
그리고, 모바일의 고유번호 mac 정보 이런걸 뽑기가 어렵군요.. 좀더 검색해봐야 겠음...
session.gc_probability = 1 이게 문제였군요 divisor와 연계해서 1% 확률로 동작하기때문에
아무리 lifetime을 조정해도 100번 시도 1번 삭제네요..
방문자가 많은 싸이트는 꼭 1로 해야 하나 테스트 용도웹이라면 이걸 꼭 100으로 놓고 시험해야 되네요..
이건 정말 팁입니다 ^^
그리고, 모바일의 고유번호 mac 정보 이런걸 뽑기가 어렵군요.. 좀더 검색해봐야 겠음...
AKASIA
12년 전
세션을 DB에 저장시켜두지 않나요? ^^
12년 전
모바일사이트는 그게 팁인가요? 제가 잘 몰라서요 ^^
12년 전
해결된것 같네요
common.php 파일 수정합니다.
1. 아래 주석처리
//ini_set("url_rewriter.tags",""); // 링크에 PHPSESSID가 따라다니는것을 무력화함 (해뜰녘님께서 알려주셨습니다.)
2. 아래 참조
ini_set("session.cache_expire", 60*24*30); // 세션 캐쉬 보관시간 (분)
ini_set("session.gc_maxlifetime", 60*10); // session data의 gabage collection 존재 기간을 지정 (초), 이게 expire보다 우선임
ini_set("session.gc_probability", 0); // session.gc_divisor(100)과 연계하여 %확률로 세션지워줌, 테스트시 100 권장
session_set_cookie_params(60*60*24*365, "/"); // 쿠키 세션 연동 유효시간 설정(초)
ini_set("session.cookie_domain", $g4['cookie_domain']);
@session_start();
3. 아래 주석처리
// 4.00.03 : [보안관련] PHPSESSID 가 틀리면 로그아웃한다.
//if ($_REQUEST['PHPSESSID'] && $_REQUEST['PHPSESSID'] != session_id())
// goto_url("{$g4['bbs_path']}/logout.php");
4. PC에서 모바일 페이지 접속되지 않도록 방어 코드 삽입 index.php 에 넣는게 좋을것 같네요
모바일브라우져에서 쿠키사용 안하거나 지우면 다시 로긴해야 하구요.. 이건 시험해보니 네이버도 마찬가지 네요
이것도 팁 되겠쉼돠~~~ ^^
common.php 파일 수정합니다.
1. 아래 주석처리
//ini_set("url_rewriter.tags",""); // 링크에 PHPSESSID가 따라다니는것을 무력화함 (해뜰녘님께서 알려주셨습니다.)
2. 아래 참조
ini_set("session.cache_expire", 60*24*30); // 세션 캐쉬 보관시간 (분)
ini_set("session.gc_maxlifetime", 60*10); // session data의 gabage collection 존재 기간을 지정 (초), 이게 expire보다 우선임
ini_set("session.gc_probability", 0); // session.gc_divisor(100)과 연계하여 %확률로 세션지워줌, 테스트시 100 권장
session_set_cookie_params(60*60*24*365, "/"); // 쿠키 세션 연동 유효시간 설정(초)
ini_set("session.cookie_domain", $g4['cookie_domain']);
@session_start();
3. 아래 주석처리
// 4.00.03 : [보안관련] PHPSESSID 가 틀리면 로그아웃한다.
//if ($_REQUEST['PHPSESSID'] && $_REQUEST['PHPSESSID'] != session_id())
// goto_url("{$g4['bbs_path']}/logout.php");
4. PC에서 모바일 페이지 접속되지 않도록 방어 코드 삽입 index.php 에 넣는게 좋을것 같네요
모바일브라우져에서 쿠키사용 안하거나 지우면 다시 로긴해야 하구요.. 이건 시험해보니 네이버도 마찬가지 네요
이것도 팁 되겠쉼돠~~~ ^^
devdev
12년 전
참고하겠습니다.~
12년 전
세션 만들 때 쿠키 시간을 증가 시키고 IP를 체크하지 않으면 무한히 접속되겠지만 보안상 좀 위험할 듯 싶네요.....
12년 전
pc에서는 그렇지만.. 모바일에선 감수할수 있지 않을까요? 타인의 손에 넘어가면 위험할수도 있지만 본인의 편의를 위해 사용하는거라.. 감수할 부분이지 않을까 싶네요...
12년 전
모바일에서는 자동로그인을 강제로 on 되도록 설정하시면 됩니다.
12년 전
그렇게 해도 안돼요~ ^^
모바일 뿐만 아니라 일반웹에서도 자동로긴은 금방 풀려버려요~
그누보드에서 가장 아쉬운게 아이디 패스워드 기억하는 방법과 자동로긴이 잘 안된다는거..
모바일 뿐만 아니라 일반웹에서도 자동로긴은 금방 풀려버려요~
그누보드에서 가장 아쉬운게 아이디 패스워드 기억하는 방법과 자동로긴이 잘 안된다는거..
12년 전
모바일에서 로컬 스토리지를 이용하면 손쉽게 아이디 비번 저장을 만들 수 있습니다.
kiplayer
12년 전
모바일에 익숙해지시면 php 세션을 가지고는 불가능한 경우는 아주 많이 나옵니다.
그리고 모바일웹에서 하이브리드나 j쿼리 모바일 등의 프레임웍을 사용해야 할때도 벽에 부딪치므로
로그인 관련해서는 jquery나 자바스크립트 + ajax + php를 이용해서 방법을 하나 정도는 만들어 두시는게 좋은데 개인적인 생각입니다.~
저 같은 경우는 쿠키로 세션을 갱신시키면서 체크하는 방법을 쓰고 있습니다.
보안상 취약점은 모바일은 아무리 해도 완벽에 가깝게도 만들수 없겠더라구용~
그리고 모바일웹에서 하이브리드나 j쿼리 모바일 등의 프레임웍을 사용해야 할때도 벽에 부딪치므로
로그인 관련해서는 jquery나 자바스크립트 + ajax + php를 이용해서 방법을 하나 정도는 만들어 두시는게 좋은데 개인적인 생각입니다.~
저 같은 경우는 쿠키로 세션을 갱신시키면서 체크하는 방법을 쓰고 있습니다.
보안상 취약점은 모바일은 아무리 해도 완벽에 가깝게도 만들수 없겠더라구용~
게시글 목록
| 번호 | 제목 |
|---|---|
| 10039 |
jQuery
FAQ 예제입니다.
3
|
| 10032 | |
| 10030 |
Flash
저도 또 플래시 기본플레이어 질문이네요;
1
|
| 10027 | |
| 10024 |
jQuery
jquery 라이브러리 개발자 사이트
2
|
| 10021 |
jQuery
[질문] 이미지 메뉴 페이드 효과 넣고 싶어요.
2
|
| 17549 | |
| 10020 |
PHP
멀티스크린 대응
|
| 19924 |
HTML
[접기 펴기]간단 소스 문의좀..
2
|
| 10014 | |
| 10011 |
JavaScript
숫자 계산시 NaN 이 나올경우질문드립니다
2
|
| 10009 |
MySQL
ms sql 작업하실분 구합니다.
1
|
| 19914 | |
| 10008 |
MySQL
ssh 터널링을 통한 mysql 접속
|
| 19911 | |
| 10005 |
JavaScript
버튼 롤아웃시에 버튼 온 이미지를 줄수있는 방법 좀 갈켜 주세요.
2
|
| 10004 |
JavaScript
따라다니는 배너 스크립트인데요
|
| 10002 |
Flash
플래시가 검게만 보입니다 ㅠㅠ
1
|
| 19908 | |
| 9999 | |
| 17548 | |
| 17547 | |
| 17546 | |
| 9997 | |
| 9995 |
JavaScript
메뉴바 - 이런걸 원하시는건가??
1
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기