IE10 उपयोगकर्ता-एजेंट ASP.Net को सेट-कुकी वापस नहीं भेजने का कारण बनता है (IE10 कुकी नहीं सेट करना)


91

सारांश

ASP .Net Set-CookieIE 10. का उपयोग करते समय एक हेडर वापस नहीं भेजता है । उदाहरण के लिए, उदाहरण के लिए प्रपत्र प्रमाणीकरण का उपयोग करते समय IE10 का उपयोग करके आप ASP.Net साइट पर लॉग इन नहीं कर सकते।

विस्तार

वर्तमान में हम IE 10 [पूर्वावलोकन 2] के खिलाफ हमारी विरासत वेब ऐप्स में से एक का परीक्षण कर रहे हैं।

जब प्रपत्र प्रमाणीकरण का उपयोग करके लॉगिन करने का प्रयास किया जाता है, तो हमें Set-Cookieप्रतिक्रिया में एक हेडर नहीं मिलता है यदि उपयोगकर्ता-एजेंट 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प्रतिक्रिया में नहीं है। फिर भी अगर हम Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/6.0)इसे काम करने के लिए उपयोगकर्ता-एजेंट को बदल देते हैं !

क्या कोई और इसे दोहरा सकता है? मुझे IE10 कुकीज़ के साथ कोई भी ज्ञात समस्या नहीं मिल सकती है जो गैर-मानक URL पैटर्न को प्रभावित करती है।

हॉटफिक्स

बाद devio मूल उत्तर पोस्ट, एक समाधान के साथ, nullptr पुष्टि अब एक है कि वहाँ है इस के लिए हॉटफिक्स

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

मैंने हॉटफ़िक्स को मुख्य प्रश्न के रूप में प्रचारित किया है क्योंकि यह भविष्य के संदर्भ के लिए केवल उचित है, लेकिन कृपया उल्लेखित उपयोगकर्ताओं को वोट दें।


1
नोट - उपरोक्त उदाहरण एक निवेदन पर एक कुकी सेट करने से था (रिस्पांस.सिटक्युकी () का उपयोग करके)
isNaN1247

BrowserCaps के साथ एक और संभावित समाधान : stackoverflow.com/a/13474958/1191905
Anton Skovorodko

क्या हम IIS या क्लाइंट मशीन पर हॉट फ़िक्स लागू करते हैं?
अर्काडियन

@ Magic-c0d3r यह .NET के लिए एक हॉटफ़िक्स है। इसलिए इसे IIS (यानी वेब सर्वर) को होस्ट करने वाली मशीन पर लागू किया जाना चाहिए
isNaN1247

3
.NET 2.0 / 3.5 के लिए हॉटफ़िक्स भी रुचिकर हो सकता है: support.microsoft.com/kb/2600100
किले

जवाबों:


66

एमएस कनेक्ट पर इस प्रविष्टि को मिला , व्यवहार एक मान्यता प्राप्त बग है।

सुझाए गए समाधान (प्रविष्टि से):

== वर्कअराउंड ==

इस बीच यह काम करने के लिए और भविष्य में इसी तरह के मुद्दों से बचने के लिए, मैं निम्नलिखित के साथ एक फ़ाइल ~ \ 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
ओह मेरी ... यह एक बग का थोड़ा सा है - मुझे अत्यधिक संदेह है सभी एएसपी.नेट साइट्स IE10 की रिलीज के समय से पैच होने वाली हैं।
isNaN1247

2
इसके लिए धन्यवाद। इसने मुझे हमारे ऐप के साथ संगतता परीक्षण पर जाने में मदद की। यह जानना मुश्किल था कि क्या यह हमारा ऐप या बीटा है, लेकिन वर्कअराउंड होने से हमें उत्पादक बना दिया गया
माइक जे

यह मेरे लिए IE10 / Win8 के साथ काम करता है, लेकिन IE10 / Win7 नहीं। बहुत अजीब।
स्कॉट

1
मुझे आश्चर्य है कि यह कुछ लोगों के लिए काम करता है क्योंकि यह मेरे लिए नहीं था। एक वैकल्पिक समाधान के लिए नीचे कुककिलेस = "UseCookies" उत्तर देखें जो मुझे लगता है कि भविष्य के प्रमाण और मजबूत हैं।
माइक नेल्सन

71

यह समस्या कुछ IIS उदाहरणों के साथ टिकी हुई है, यह सोचकर कि IE10 एक कुकरैल ब्राउज़र (यानी केंट सपोर्ट कुकीज़) नहीं है। हमारी समस्या के मामले में सर्वर प्रमाणीकरण कुकी को सेट कर रहा था और इसे ब्राउज़र में वापस भेज रहा था, लेकिन बाद के अनुरोधों पर कुकी को अनदेखा कर रहा था।

इसका समाधान या तो ब्राउज़र क्षमताओं को पैच करना है, ताकि यह पता चले कि IE10 कुकीज़ कर सकता है (इस पृष्ठ पर एक अन्य उत्तर में उल्लिखित है), या इसे बदलने के लिए डिफ़ॉल्ट व्यवहार को बदलकर कुकीज़ का उपयोग करने के लिए मजबूर करना चाहिए, भले ही उसे लगता है कि ब्राउज़र कुकीज़ नहीं कर सकता।

हमने अभी निम्नलिखित रूपों को web.config में अपने अनुभाग में जोड़ा है:

कुकी-= "UseCookies"

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


1
अन्य समाधानों की कोशिश करने के बाद, और यह कहते हुए कि हमारे सर्वर के साथ संगत नहीं है स्थापित करने से इनकार कर रहा था, मैंने यह कोशिश की। यह केवल एक चीज है जो हमारे लिए मुद्दा तय करती है।
ब्रायन सुरोइक

सभी मुझे तत्काल परिणाम देखने के लिए Web.config को ट्वीक करना पड़ा। ब्रावो
tuespetre

मुझे लगता है कि यह सही उत्तर है। कुकी को सेट किया जा रहा था ताकि फ़िडलर में सब कुछ ठीक दिखे और ASP.NET इसे पूरी तरह से ठीक पढ़ने में सक्षम था (जब मैंने एक परीक्षण पृष्ठ स्थापित किया था), लेकिन फ़ॉर्म प्रामाणिक इसे अनदेखा कर रहा था। यह प्रपत्र प्रामाणिक की एक गंभीर सीमा है, लेकिन आपका फिक्स इसे हमेशा की तरह काम करना चाहिए!
माइक नेल्सन

1
यह आईआईएस पैचिंग से एक बेहतर और बेहतर समाधान है।
generalnetworkerror

33

इस समस्या के लिए एक हॉटफ़िक्स उपलब्ध है [1]।

1) http://support.microsoft.com/kb/2600088
1) http://support.microsoft.com/kb/2600217 (पिछली बार उत्तर दें)

इसके अलावा, [2] सुझाव देता है कि यह 2012 के जनवरी में विंडोज अपडेट से टकराएगा।

2) http: // www।


3
शानदार, इसके लिए धन्यवाद - मैंने भविष्य के संदर्भ के लिए प्रश्न के मुख्य निकाय के लिंक को बढ़ावा दिया है।
isNaN1247

2
पुष्टि करें। यह अब भी एक बग है (08/2012)। मैं हॉटफिक्स की कोशिश करूँगा।
एरिक गुयेन

12
अभी भी एक बग 04/2013 - wtf?
स्कॉट सेल्बी

हम इस मुद्दे को अभी भी मार रहे हैं, भले ही हमने KB हॉटफ़िक्स को अपडेट किया हो। मैंने वेब csproj में ब्राउज़र फ़ाइलों को भी जोड़ा। न ही कोई मदद करता दिख रहा था। क्या मदद मिली, क्या हमें विश्वसनीय साइट्स डायलॉग में "साइट" जोड़ा गया है। अब हम एकल संकेत पर बाज़ार ऐप से एक IFrame को बंद कर रहे हैं। मैं यह मान रहा हूं कि इस पुनर्निर्देशन को संभालने के लिए एक कम आक्रामक तरीका है, लेकिन दस्तावेज मामले पर सीमित लगता है।
पॉल श्रीनर

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 फ्रेमवर्क 4.5 भी अब उपलब्ध है।


इस अपडेट को पोस्ट करने के लिए धन्यवाद। मुझे इस लिंक support.microsoft.com/kb/2600088 के साथ मुख्य रूप से समस्या हो रही थी क्योंकि IE मेरे सर्वर पर पृष्ठ ठीक से प्रदर्शित नहीं किया गया था। आपके अपडेट ने मुझे बहुत मदद की।
डैनियल हॉलिनरेके

0

सभी के उल्लेख और जो भी कारण से समस्या का समाधान नहीं किया गया था, विभिन्न पैच स्थापित किए।

स्थापित .NET फ्रेमवर्क 4.5 पूर्ण और समस्या चली गई।

आपको 4.5 को लक्षित करने के लिए किसी भी परियोजना को अद्यतन करने की आवश्यकता नहीं है। बस इसे सर्वर पर स्थापित करें।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.