frame, iframe에서 쿠키, 세션 인증(로그인) 처리 안 될 때 해결 방법
작성자 : 김영철
등록날짜 : 2009.01.14 21:56
오랫동안 고민했지만 해결 못했던 문제이지만
고민하기 그 전전에 해결 했었던 문제...
역시 사람은 망각의 동물인가 보다.
오래 묵은 체증이 내려가는 듯
몇달 뒤에 다시 잊어 버리는건 아니겠지???
질문 >
질문 프레임으로 나뉘어져있는데 다른서버의 페이지 접속시 쿠키값에대해서...
작성자 이재용 작성일 2005.08.12 09:55:53
프레임페이지는 localhost 에 있습니다.
아래처럼 프레임으로 나뉘어저있는 상태에서
top.asp 파일에서 다른 서버(111.222.333.444)의 로그인 페이지(login.asp)로 접속합니다. 타겟은 mainFrame 이구요
그런데 로그인 하면 인증이 안되어서 살펴보니 쿠키값을 읽을수가 없어서 인증이 안되네요.
좀더 자세히 말씀드리면 login.asp --> login_end.asp (이곳에서 쿠키값 저장하는데 이페이지에서는 Request.cookies 로 해당 쿠키값을 읽을 수 있습니다) --> member.asp(이곳에서 해당 쿠키값에의해 회원종류에따라 각각 다른 페이지로 이동시킵니다. 그런데 이곳에서 해당 쿠키값을 읽으면 빈값이네요... 그래서 각각의 회원 페이지로 못가고 쿠키값없을시 설정한 login.asp페이지로 이동합니다.)
프레임 처리후 다른 서버의 페이지로 접속 페이지 이동시 위처럼 쿠키값을 인식못하는데 해결방안은?
세션도 동일하게 테스트해봤는데 마찬가지로 안되네요...?
다른 서버에 있는 페이지를 프레임 안에서 사용시 인증은 어찌하는지요? 방법이 있겠지요?
그럼 얼마안남은 여름 몸건강히 잘지내시구요... 답변 기다릴께요...
답변 >
손상모 (2005.08.12 11:08:20 작성)
P3P 관련 문제인듯 합니다. P3P 에 대하여는 ( http://blog.naver.com/zsup1343?Redirect=Log&logNo=60003541881 ) 를 참고해 보시구요.
쿠키정보를 이야기 할때는 IP 보다는 도메인으로 이야기 해야 합니다. 프레임간에 도메인이 다른 경우에 개인정보 보호를 위하여 쿠키 정보가 저장이 되지 않습니다.
예를 들어 www.ihelpers.co.kr 사이트가 다른 사이트에서 프레임(frame,iframe 등) 형태로 사용되길 원하다면 인증 페이지에서 이에 대한 처리를 해 주셔야 합니다. 만약 처리를 하지 않는다면 전혀 알지 못하는 사이트에서 프레임으로 아이헬퍼스를 링크해서 사용하는데에는 제약이 발생할 것입니다.
1. PHP 에서 사용
header('P3P: CP="ALL CURa ADMa DEVa TAIa OUR BUS IND PHY ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE LOC OTC"');
setcookie ("AS_IDENT",uniqid("as_"),time()+365*24*60*60,"/");
setcookie ("AS_VISITCNT",$visitcnt,time()+24*60*60,"/");
...
2. ASP 코드에서 사용
<%Response.AddHeader "P3P", "CP=ALL CURa ADMa DEVa TAIa OUR BUS IND PHY ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE LOC OTC"%>
3. IIS 서버 설정
IIS 설정에서 HTTP 헤드의 사용자 정의 HTTP 헤드에 다음을 추가
헤드 이름 : P3P
헤드 값 : CP='CAO PSA CONi OTR OUR DEM ONL'
* IIS 재시작 필요없음(위 사항이 바로 반영이 됨), 헤드값은 홑따옴표야 한다.
http://blog.naver.com/lover200x.do?Redirect=Log&logNo=80007938158
<출처 : http://www.ihelpers.co.kr/programming/qna.php?CMD=view&TYPE=0&KEY=&SC=S&&CC=&ORDER=D&OP=&PAGE=1&IDX=8368>
고민하기 그 전전에 해결 했었던 문제...
역시 사람은 망각의 동물인가 보다.
오래 묵은 체증이 내려가는 듯
몇달 뒤에 다시 잊어 버리는건 아니겠지???
질문 >
질문 프레임으로 나뉘어져있는데 다른서버의 페이지 접속시 쿠키값에대해서...
작성자 이재용 작성일 2005.08.12 09:55:53
프레임페이지는 localhost 에 있습니다.
아래처럼 프레임으로 나뉘어저있는 상태에서
top.asp 파일에서 다른 서버(111.222.333.444)의 로그인 페이지(login.asp)로 접속합니다. 타겟은 mainFrame 이구요
그런데 로그인 하면 인증이 안되어서 살펴보니 쿠키값을 읽을수가 없어서 인증이 안되네요.
좀더 자세히 말씀드리면 login.asp --> login_end.asp (이곳에서 쿠키값 저장하는데 이페이지에서는 Request.cookies 로 해당 쿠키값을 읽을 수 있습니다) --> member.asp(이곳에서 해당 쿠키값에의해 회원종류에따라 각각 다른 페이지로 이동시킵니다. 그런데 이곳에서 해당 쿠키값을 읽으면 빈값이네요... 그래서 각각의 회원 페이지로 못가고 쿠키값없을시 설정한 login.asp페이지로 이동합니다.)
프레임 처리후 다른 서버의 페이지로 접속 페이지 이동시 위처럼 쿠키값을 인식못하는데 해결방안은?
세션도 동일하게 테스트해봤는데 마찬가지로 안되네요...?
다른 서버에 있는 페이지를 프레임 안에서 사용시 인증은 어찌하는지요? 방법이 있겠지요?
그럼 얼마안남은 여름 몸건강히 잘지내시구요... 답변 기다릴께요...
답변 >
손상모 (2005.08.12 11:08:20 작성)
P3P 관련 문제인듯 합니다. P3P 에 대하여는 ( http://blog.naver.com/zsup1343?Redirect=Log&logNo=60003541881 ) 를 참고해 보시구요.
쿠키정보를 이야기 할때는 IP 보다는 도메인으로 이야기 해야 합니다. 프레임간에 도메인이 다른 경우에 개인정보 보호를 위하여 쿠키 정보가 저장이 되지 않습니다.
예를 들어 www.ihelpers.co.kr 사이트가 다른 사이트에서 프레임(frame,iframe 등) 형태로 사용되길 원하다면 인증 페이지에서 이에 대한 처리를 해 주셔야 합니다. 만약 처리를 하지 않는다면 전혀 알지 못하는 사이트에서 프레임으로 아이헬퍼스를 링크해서 사용하는데에는 제약이 발생할 것입니다.
1. PHP 에서 사용
header('P3P: CP="ALL CURa ADMa DEVa TAIa OUR BUS IND PHY ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE LOC OTC"');
setcookie ("AS_IDENT",uniqid("as_"),time()+365*24*60*60,"/");
setcookie ("AS_VISITCNT",$visitcnt,time()+24*60*60,"/");
...
2. ASP 코드에서 사용
<%Response.AddHeader "P3P", "CP=ALL CURa ADMa DEVa TAIa OUR BUS IND PHY ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE LOC OTC"%>
3. IIS 서버 설정
IIS 설정에서 HTTP 헤드의 사용자 정의 HTTP 헤드에 다음을 추가
헤드 이름 : P3P
헤드 값 : CP='CAO PSA CONi OTR OUR DEM ONL'
* IIS 재시작 필요없음(위 사항이 바로 반영이 됨), 헤드값은 홑따옴표야 한다.
http://blog.naver.com/lover200x.do?Redirect=Log&logNo=80007938158
<출처 : http://www.ihelpers.co.kr/programming/qna.php?CMD=view&TYPE=0&KEY=&SC=S&&CC=&ORDER=D&OP=&PAGE=1&IDX=8368>
"쇼핑몰·홈페이지·오픈마켓
블로그·페이스북·이메일 등의 각종 마케팅 글쓰기, 각종 광고, 영업, 판매, 제안서, 전단지 반응율 3배×10배 이상 높이는 마법의 8단계 공식" |
☞자세히보기 |
|
|