http://steelleg.tistory.com/entry/IE-와-firefox-쿠키-문제 

의 해결책을 찾았다.
역시 안되는 건 없는거다.

앞의 포스트에서 문제점은 브라우저마다 쿠키를 별도로 관리하기 때문에 하나의 브라우저가 만든 영구 쿠키를 다른 브라우저에서 사용할 수가 없어서 쿠키를 특정 데이터 저장용으로 쓸 때 한 피씨에서 여러개의 브라우저를 사용하는 사용자가 혼란을 일으킬 수 있다는 것이다.

이 것의 해결책은 플래시의 Shared Object 를 사용하는 것이다.
플래시는 브라우저와 별도로 자체의 저장소를 갖고 있다고 한다.
이 곳을 쿠키처럼 쓸 수 있으므로 쿠키대신 이곳에 저장을 하면 어떤 브라우저 든 플래시가 설치되어 있다면
동일한 데이터를 저장하고 관리할 수 있다는 것이다.

아래의 링크에 자세한 코드와 설명이 있다.

http://www.nuff-respec.com/technology/cross-browser-cookies-with-flash
http://www.sajithmr.me/cross-browser-cookies/

라이브러리를 하나 첨부해 둔다.
Shared object 는 기본이 10k 까지 저장 할 수 있다고 한다. 쿠키가 4k 인 것에 비해 넉넉하다고 할 수 있겠다.
추가로 유저가 셋팅해서 10M 까지도 가능하다고 한다.
http://www.adobe.com/support/flash/action_scripts/actionscript_dictionary/actionscript_dictionary648.html
신고

댓글을 달아 주세요

IE 에서 생성한 쿠키(expires 를 설정한..) 를 파이어폭스에서 읽을 수 있을까?

난 당연히 될 것이라고 생각했다.
왜냐면 쿠키란 것은 http 표준 기능이니까. 당연히 될 것이라고 생각했는데...

우선 쿠키는 보안상 브라우저 세션에 의존적이다.
IE 와 파폭은 다른세션 일수 밖에 없으니까..당연히 서로 독립적인게 맞다.
하지만 expire time 을 설정한 쿠키라면.. 이쿠키는 url 에 의존적이므로 브라우저와 상관없이 url만 동일하면 상관없지 않을까....
하지만.. 브라우저는 특정업체가 만드는 것이고 캐시할 쿠키를 어디에 저장하고 관리할 것인지는 브라우저 제조업체가 알아서 하는 것이다. 이것은 표준이 따로 없기때문에..
즉 IE 와 파이어폭스는 서로 다른 폴더에 쿠키를 저장한다. 그리고 그곳에 존재하는 쿠키만 관리한다.
즉 로컬에 캐시된 쿠키라 해도 브랑저 별로 따로 관리되고 있었다.
즉 IE 에서 만들어 캐시한 쿠키는 파폭에서 읽히지 않는다.

지인의 의뢰로 살펴보게 된 것인데...
html 과 자바스크립트 만으로 동작하는 페이지를 만들어 배포하는 것이 목적인데, 이때 유일하게 저장소로 쓸수있는 것이 쿠키다. 헌데 문제가 IE 에서 만든 쿠키 데이터를 파폭에서는 전혀 읽히지가 않는 문제가 발생한 것이다.
또한 파이어폭스에서 만든 데이터 역시 IE 에서 읽히지 않는다.
어떻게 보면 당연한 일인듯 한데...
지인의 이 문제는 해결이 안될 듯 하다.
혹시 해결책을 아시는 분 있을까?


================= 해결책 찾음 ================

http://steelleg.tistory.com/entry/Cross-Browser-Cookie브라우저에-상관없이-쿠키-공유하기
로 포스팅 햇음.

신고

댓글을 달아 주세요

사용자 삽입 이미지


웹개발자 면접때 마다 꼭 하는 질문이 있다.

쿠키가 어딨는지 아세요?

99% 는 인터넷 임시폴더에 있다라고 한다.
경력이 꽤 된 개발자도 이런 대답을 한다.

아마도 일하면서,몰라도 전혀 불편하지 않기에  별로 관심을 갖지 않아서 일 것이다.
이때 내머리에 드는 생각은
"그저 시키는 대로 페이지만 뽑았구나"이다.
물론 이 질문하나로 다 알수는 없기에 추가로 다른 질문들도 하지만, 이 질문에 답하는 것을 파악해 보면
웹프로그램의 내공이 어느정도인지 대충 간을 볼 수 있다. - 물론 사람마다 기준은 다르다. 빠르게 웹페이지를 만들어야 인정해주는 곳도 있다.하지만 난 기초가 좋고 창조적인 개발자를 좋아한다.

네이버 지식 검색을 검색했더니, 역시나 채택된 답변도 임시인터넷폴더에 있다는 답이다.
기술자료를 찾기위해 네이버 검색을 이용한다는 개발자는 절대 신뢰하지 않는다.

한편 우리나라 웹개발자의 교육이 참 잘못되었다는 생각도 해본다.
웹을 한다는 사람들이 http 프로토콜에 대해서도 전혀모르고 있으니 이를 응용한다는 것은 상상도 할 수 없는 일이다.

혹시 쿠키가 어디에 있는지 궁금하신 분은 아래 링크를 읽어보시기 바란다.

http://en.wikipedia.org/wiki/HTTP_cookie

신고

댓글을 달아 주세요

  1. Favicon of http://travelogr.com BlogIcon 꼬까 2008.03.26 05:37 신고 Address Modify/Delete Reply

    나도 누군가 물어보면 임시폴더라고 대답합니다. 위키링크따라 내용을 보고 있는데요. 쿠키의 저장위치는 임시폴더가 맞고 쿠키의 대체재들이 많다라고 이해됩니다.
    그러게, 평소에 중요한 내용들은 확실히 개념잡아야 한다니깐요.
    그리고 다시 한번 위키피다아는 멋져~

  2. J 2008.03.26 09:11 신고 Address Modify/Delete Reply

    ... 다시 한번 공부해 보시길~

브라우저에 제3사 쿠키 허용을 셋팅하지 않은 상태에서는 iframe 에 나오는 도메인이 다른 사이트의 쿠키가 전혀 적용이 안된다.
즉 iframe 상의 도메인이 다른 사이트는 로그인이 안된다는 말이다.

이를 해결하는 방법은
iframe 에 나올 사이트가 p3p 를 설정해서 읽어가도 괜잖다는 표시를 하는 것인데.
header('P3P: CP="NOI CURa ADMa DEVa TAIa OUR DELa BUS IND PHY ONL UNI COM NAV INT DEM PRE"');
의 값을 주면 된다고 한다 ---> 네이버 검색

지금 시험중..
 됐다가 안됐다가 하네..



잘된다.

신고

댓글을 달아 주세요

  1. 문영철 2009.03.26 14:26 신고 Address Modify/Delete Reply

    header('P3P: CP="NOI CURa ADMa DEVa TAIa OUR DELa BUS IND PHY ONL UNI COM NAV INT DEM PRE"');


    이 헤더값을 어디에 추가해야하나요 HTML문서인데..

    • 쥔장 2009.04.01 11:35 신고 Address Modify/Delete

      html 해더와 http 해더는 다릅니다.
      http 해더에 넣으시면 됩니다.
      웹서버 셋팅으로 일괄 처리 하실 수도 있고
      프로그래밍으로 처리 하실 수 있습니다.

  2. Favicon of http://www.drebeatsoutletus.com BlogIcon Cheap Beats By Dre 2011.12.20 16:29 신고 Address Modify/Delete Reply

    아이구, 괜 찮 아요 요.감사 나 눠 갖 는 다.^_^

  3. Favicon of http://www.drebeatsoutlet4u.com BlogIcon Cheap Beats By Dre 2011.12.20 16:29 신고 Address Modify/Delete Reply

    감사합니다 나 눔 을 기대 하는 것 이 당 신의 다음 편 공유 했 다.

  4. Favicon of http://www.monsterbeatsoutlet4u.com BlogIcon Monster Beats Outlet 2011.12.20 16:29 신고 Address Modify/Delete Reply

    다른 느낌 을 나 누 는 감사합니다.

티스토리 툴바