Firefox 및 Chrome의 특정 브라우저 문제를 해결하기 위해 머리를 갈아입니다. 이 문제를 해결하기 위해 많은 시간을 할애하여 마침내이 문제를 조사하기 위해 여기 전문가의 라이브 데모를 만들려고 생각했습니다.302 리디렉션을 통해 FireFox/Chrome에서 쿠키를 읽을 수 없지만 IE에서 작동합니다.
1 단계 :
찾아 http://www.nkmekal.com/createcookie.aspx
내가 문제를 복제하는 파이어 폭스/크롬을 사용하시기 바랍니다 두 도메인 www.nkmekal.com 및 www.incessantcoding.com
이
(희망이 떨어져 지불) 이 페이지는 단지 쿠키를 생성합니다.
// In On_Load of nkmekal.com/createCookie.aspx
HttpCookie cookie = new HttpCookie("DisCookie");
cookie.Value = "djdjd77676ydjdndgdidjkdnhf";
cookie.HttpOnly = true;
cookie.Expires = DateTime.Now.AddDays(1);
Response.Cookies.Add(cookie);
lblCookieInfo.Text = string.Format("<b>Cookie Name:</b> {0} <br/><br/> <b>Cookie Value:</b> {1} <br/><br/> <b>Cookie Expires On:</b> {2}", cookie.Name, cookie.Value, cookie.Expires);
2 단계 :이
이제 기본적으로 간단한 302 http://www.nkmekal.com/ReadCookie.aspx로 리디렉션하지 http://www.incessantcoding.com/GoTonkmekal.aspx로 이동 브라우저에서 새 탭을 열고 아래입니다 아래는 쿠키를 생성하는 코드는 이 리디렉션을 수행하는 코드 : 나는 아래의 메시지가 표시 그러나
// In On_Load of incessantcoding.com/GoTonkmekal.aspx
protected void Page_Load(object sender, EventArgs e)
{
Response.Redirect("http://www.nkmekal.com/ReadCookie.aspx");
}
: (3 단계에서 ReadCookie.aspx 페이지의 코드를 참조하십시오)를
,691,363(210)는 "어떤 쿠키를 찾을 수 없습니다 :("
도메인 www.nkmekal.com는 당신이 www.nkmekal.com/를 탐색 한 경우 이전에 만든 쿠키를 읽을 수 없음을 의미합니다 createcookie.aspx
3 단계 :
그리고 페이지 http://www.nkmekal.com/ReadCookie.aspx 단지 및 표시 쿠키 데이터 (1 단계)을 위에서 만든 쿠키를 읽으려고합니다. 아래는 쿠키를 읽으려고하고
// In On_Load of nkmekal/ReadCookie.aspx
HttpCookie cookie = Request.Cookies["DisCookie"];
if (cookie != null)
{
// Resetting expiry date because the browser never sends expiry date to Server,
// as cookies expiration dates are irrelevant to servers.
cookie.Expires = DateTime.Now.AddDays(1);
lblCookieInfo.Text = string.Format("<b>Yes! I found a cookie</b> <br><br><b>Cookie Name:</b> {0} <br/><br/> <b>Cookie Value:</b> {1} <br/><br/> <b>Cookie Expires On:</b> {2}", cookie.Name, cookie.Value, cookie.Expires);
}
else
{
lblCookieInfo.Text = "No Cookie Found :(";
}
위의 단계는 IE에서가 아니라 파이어 폭스/크롬에서 잘 작동 페이지에 표시 코드입니다. 당신은 두 도메인의 소스 코드를 들여다 봐도하려면
또한, 당신은 왜이 작업을 수행하려고
http://dl.dropbox.com/u/1248159/incessantcoding.zip
http://dl.dropbox.com/u/1248159/nkmekal.zip
에서 다운로드 할 수 있습니다 :를
그래서이 작업을 수행하려는 이유는 도메인에서 수행해야 할 특정 작업이 있다는 것입니다. 쿠키가 www.nkmekal에서 생성 된 경우 www.incessantcoding.com.com
302 리디렉션을 사용하는 이유는 크로스 도메인 쿠키를 읽을 수 없기 때문에 적절한 도메인에서만 쿠키를 읽으려고하기 때문입니다 (nkmekal.com은 쿠키 만 읽을 수 있기 때문에).
도움이나 제안이 도움이 될 것입니다.
업데이트 : 1 단계와 3가 (2 단계를 떠나)을 수행하는 경우 이 또한 매우 흥미롭게도, 쿠키 값이 제대로 파이어 폭스와 크롬에서 읽어. 그것만이 작동하지 않는 302 가지 방법.
그건 사실 예는 도메인 간 쿠키를 읽을 수 없습니다 ... – Madhu
예! DisCookie 쿠키 값 : 나는 쿠키 쿠키 이름을 발견 쿠키에 만료 djdjd77676ydjdndgdidjkdnhf : 2012년 2월 8일 오후 11시 3분 8초 –
나를 위해 일했다. firefox 9.1, brgds –