IE10 User-Agent로 인해 ASP.Net이 Set-Cookie를 다시 보내지 않음 (IE10이 쿠키를 설정하지 않음)


91

요약

ASP.Net은 Set-CookieIE 10을 사용할 때 헤더를 다시 보내지 않습니다. 예를 들어 폼 인증을 사용할 때 IE10을 사용하여 ASP.Net 사이트에 로그인 할 수 없다는 의미입니다.

세부 묘사

현재 IE 10 [미리보기 2]에 대해 기존 웹 앱 중 하나를 테스트하고 있습니다.

양식 인증을 사용하여 로그인을 시도 할 때 Set-Cookieuser-agent가 IE 10의 경우 응답에 헤더 가 표시되지 않습니다 . 빈 .Net 2 및 .Net 4 사이트에서이 작업을 시도했습니다.

믿을 수 없거나 믿을 수 없었기 때문에 telnet모든 일반적인 도구를 사용한 후 수동으로 HTTP 요청을 실행 했고 동일한 응답을 받았습니다.

GET http://test.ourdomain.co.uk/ HTTP/1.1
Accept: */*
Host: test.ourdomain.co.uk
User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)
Content-Length: 0

위의 HTTP 요청 Set-Cookie은 응답에서 no 를 반환합니다 . 그러나 사용자 에이전트를 간단히 변경하면 Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/6.0)작동합니다!

다른 사람이 이것을 복제 할 수 있습니까? 비표준 URL 패턴에 영향을 미치는 문제 외에 IE10 쿠키에 대해 알려진 문제를 찾을 수 없습니다.

핫픽스

devio이 해결 방법으로, 원래의 대답을 게시, nullptr은 지금이 있음을 확인이 이 핫픽스를 .

http://support.microsoft.com/kb/2600088

나는 핫픽스를 주요 질문으로 승격 시켰는데, 이는 향후 참조를 위해 더 편리하기 때문에 언급 된 사용자에게 찬성 투표를 해주세요.


1
참고-위의 예는 get 요청에 대해 쿠키를 설정 한 것입니다 (Response.SetCookie () 사용)
isNaN1247

browserCaps로 가능한 또 다른 솔루션 : stackoverflow.com/a/13474958/1191905
Anton Skovorodko 2011

IIS 또는 클라이언트 컴퓨터에 핫픽스를 적용합니까?
Arcadian

이 .NET 용 핫픽스가 @ c0d3r 마법은-자체는 너무 IIS (즉, 웹 서버) 호스팅하는 컴퓨터에 적용되어야합니다
isNaN1247

3
.NET 2.0 / 3.5 용 핫픽스도 관심이있을 수 있습니다. support.microsoft.com/kb/2600100
fortboise

답변:


66

MS Connect 에서이 항목을 찾았 습니다. 동작은 인식 된 버그입니다.

제안 된 해결 방법 (항목에서) :

== 해결 방법 ==

그 동안 작동하도록 만들고 향후 유사한 문제를 피하기 위해 다음과 함께 ~ \ App_Browsers \ BrowserFile.browser 파일을 사용합니다.

<browsers>
<browser refID="Default">
<capabilities><!-- To avoid wrong detections of e.g. IE10 -->
<capability name="cookies" value="true" />
<capability name="ecmascriptversion" value="3.0" />
</capabilities>
</browser>
</browsers>

7
오 마이 ... 그건 약간의 버그입니다. 모든 ASP.Net 사이트가 IE10이 출시 될 때 패치 될 것 같지는 않습니다.
isNaN1247

2
감사합니다. 앱과의 호환성 테스트를 진행하는 데 도움이되었습니다. 우리의 응용 프로그램 또는 베타하지만 해결 방법을 가지고 있다면 처음에 알고 우리가 생산 만든 힘들었다
MikeJ

이것은 IE10 / Win8에서는 작동하지만 IE10 / Win7에서는 작동하지 않습니다. 아주 이상한.
ScottE 2013 년

1
나는 이것이 나를 위해하지 않았기 때문에 어떤 사람들에게는 이것이 효과가 있다는 것에 놀랐습니다. 더 미래에 대비하고 강력하다고 생각되는 대체 솔루션은 아래의 cookieless = "UseCookies"답변을 참조하십시오.
mike nelson

71

문제는 IE10이 쿠키없는 브라우저라고 생각하는 일부 IIS 인스턴스에 있습니다 (예 : 쿠키를 지원할 수 없음). 문제의 경우 서버는 인증 쿠키를 설정하고 브라우저로 다시 전송했지만 이후 요청에서 쿠키를 무시했습니다.

해결책은 IE10이 쿠키를 수행 할 수 있다는 것을 알도록 브라우저 기능을 패치하거나 (이 페이지의 다른 답변에 설명되어 있음) 브라우저가 쿠키를 수행 할 수 없다고 생각하더라도 강제로 쿠키를 사용하도록 기본 동작을 변경하는 것입니다.

web.config의 양식 섹션에 다음을 추가했습니다.

cookieless = "UseCookies"

<authentication mode="Forms">
  <forms name=".AUTH" cookieless="UseCookies" loginUrl="/" timeout="10000" path="/" />
</authentication>

3
IE10 문제 해결
Oleg Yevteyev 2013 년

1
다른 솔루션을 시도하고 핫픽스가 우리 서버와 호환되지 않는다고 설치를 거부 한 후 이것을 시도했습니다. 우리를 위해 문제를 해결 한 유일한 방법입니다.
Brian Surowiec

내가해야 할 일은 즉시 결과를보기 위해 Web.config를 조정하는 것뿐이었습니다. Bravo
tuespetre 2013-07-03

나는 이것이 정답이라고 생각합니다. 쿠키가 설정되어 모든 것이 피들러에서 잘 보였고 ASP.NET은 (테스트 페이지를 설정할 때) 완벽하게 다시 읽을 수 있었지만 Forms Auth는 그것을 무시했습니다. 이것은 Forms Auth의 심각한 제한 사항이지만 수정으로 인해 항상 그래야하는 것처럼 작동합니다!
mike nelson

1
이것은 IIS를 패치하는 것보다 훨씬 더 좋고 지속 가능한 솔루션입니다.
generalnetworkerror jul.

33

이 문제에 대한 핫픽스가 있습니다 [1].

1) http://support.microsoft.com/kb/2600088
1) http://support.microsoft.com/kb/2600217 (이전 KB 대체)

또한 [2]는 이것이 2012 년 1 월에 Windows Update에 적용될 것이라고 제안합니다.

2) http://www.hanselman.com/blog/BugAndFixASPNETFailsToDetectIE10CausingDoPostBackIsUndefinedJavaScriptErrorOrMaintainFF5ScrollbarPosition.aspx


3
훌륭합니다. 감사합니다. 나중에 참조 할 수 있도록 질문 본문에 대한 링크를 홍보했습니다.
isNaN1247

2
확인하십시오. 현재 (2012 년 8 월) 현재 버그입니다. 핫픽스를 사용해 보겠습니다.
Eric Nguyen

12
여전히 버그 04/2013-wtf?
Scott Selby 2013

KB 핫픽스를 업데이트했지만 여전히이 문제가 발생합니다. 또한 웹 csproj에 브라우저 파일을 추가했습니다. 둘 다 도움이되지 않는 것 같았습니다. 도움이 된 것은 신뢰할 수있는 사이트 대화 상자에 "사이트"를 추가 한 것입니다. 이제 싱글 사인온시 마켓 플레이스 앱의 IFrame에서 리디렉션됩니다. 이 리디렉션을 처리하는 덜 침습적 인 방법이 있다고 가정하고 있지만 문서는 문제에 대해 제한되어 있습니다.
Paul Shriner 2013

3

도와 주셔서 감사합니다. 작동하지 않았습니다.

  1. 사이트 에서 파일을 복사 했습니다.C:\WINDOWS\microsoft.net\Framework\v2.0.50727\CONFIG\Browsers

  2. 명령 프롬프트에서 실행 C:\WINDOWS\microsoft.net\Framework\v2.0.50727>aspnet_regbrowsers.exe -i

  3. IIS를 다시 시작하십시오.

  4. 사이트를 테스트했으며 오류없이 작동합니다.

피드백에 다시 한번 감사드립니다


2

nullptr 답변에 대한 업데이트입니다.

오늘 Microsoft KB2600088을 다운로드 해 보았습니다. 이메일로 링크를받은 후 링크를 ​​클릭하면 더 이상 사용할 수 없다는 페이지가 표시됩니다.

이것을 시도하십시오 : http://support.microsoft.com/kb/2600217

이 링크는 KB2600088 및 KB2628838을 대체합니다.

MIcrosoft .Net Framework 4.5도 현재 사용할 수 있습니다.


이 업데이트를 게시 해 주셔서 감사합니다. 이 링크 support.microsoft.com/kb/2600088에 문제가 발생했습니다 . 주로 내 서버의 IE가 페이지를 제대로 표시하지 않았기 때문입니다. 귀하의 업데이트는 저에게 많은 도움이되었습니다.
다니엘 Hollinrake

0

모든 사람이 언급 한 다양한 패치를 설치했으며 어떤 이유로 든 문제가 해결되지 않았습니다.

.NET Framework 4.5 Full을 설치했고 문제가 해결되었습니다.

4.5를 대상으로하는 프로젝트를 업데이트 할 필요가 없습니다. 서버에 설치하기 만하면됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.