2009-01-27 21 views
6

के लिए सत्र कुकी पास नहीं करता है मेरे पास सरल PHP अनुप्रयोग है, यह IE8 बीटा 2 को छोड़कर सभी ब्राउज़रों पर काम करता है, समस्या तब होती है जब मैं अजाक्स कॉल (jQuery पोस्ट विधि) का उपयोग कर तालिका फ़ील्ड को अपडेट करने का प्रयास करता हूं। आईई 8 डीबगर का उपयोग करके मुझे पता चला कि IE8 सत्र कुकी नहीं भेजता है इसलिए PHP स्क्रिप्ट अनुरोधित कार्रवाई निष्पादित करने के बजाय लॉगिन पृष्ठ पर रीडायरेक्ट करता है।इंटरनेट एक्सप्लोरर 8 AJAX अनुरोध

यह काम करने के लिए मैं क्या कर सकता हूं।

संपादित करें: मैंने उल्लेख नहीं किया है कि मैं कोड इग्निटर का उपयोग कर रहा था इसलिए मैंने मूल समस्या के साथ कोड इग्निटर डिफ़ॉल्ट सत्र कार्यान्वयन को बदलकर इस समस्या को हल किया है। कोड igniter डिफ़ॉल्ट सत्र कार्यान्वयन सभी डेटा स्टोर करने के लिए कुकी का उपयोग करता है।

+0

आईई 8 भेजता है सामान्य अनुरोध पर कुकी? – Gumbo

+0

सामान्य अनुरोध पर ठीक काम करता है, लेकिन AJAX अनुरोध के बाद यह कुकी साफ़ करता है। –

+1

कोडइग्निटर का सत्र कार्यान्वयन –

उत्तर

-3

कामकाज के रूप में, आप सत्र आईडी को यूरी पर पैरामीटर के रूप में एम्बेड कर सकते हैं।

PHP मैनुअल में passing session id देखें।

5

मेरे पास IE8 नहीं है, लेकिन आपकी कुकी को इंटरनेट एक्सप्लोरर की अजीब सुरक्षा नीतियों द्वारा अवरुद्ध किया जा सकता है। P3P (जो IFRAME के ​​अंदर काम करने वाली कुकीज़ प्राप्त करने का तरीका भी है) को नियोजित करने के लिए एक संभावित कार्यवाही हो सकती है।

सही पी 3 पी नीति जनरेट कर रहा है काम का एक सा हो सकता है, लेकिन आप जानकारी की आवश्यकता http://www.p3ptoolbox.org/

0

पर मैं IE8 RC1 में एक ही समस्या थी खोजने के लिए सक्षम होना चाहिए:

1) एक उपयोगकर्ता लॉगिन पेज पर जाता है और एक रिक्त सत्र कुकी सेट किया जाता है
2) उपयोगकर्ता लॉग इन करता है और एक मान्य सत्र कुकी सेट होती है और जावास्क्रिप्ट एक नई विंडो खुलता है और वर्तमान विंडो बंद करता है।
3) नई विंडो खोली गई है और इसमें एक खाली सत्र कुकी है।
4) उपयोगकर्ता को लॉगिन पृष्ठ

पर चरणबद्ध किया गया है, मैंने चरण 1 को बदल दिया ताकि रिक्त कुकी सेट न हो - मैं केवल सत्यापित होने पर सत्र कुकी भेजता हूं। यह मेरे लिए समस्या तय की।

0

मुझे आईई 8 प्राप्त करने के लिए एसएसएल सर्टिफिकेट्स (पीके 12) फ़ाइलों को प्राधिकरण के साधन के रूप में उपयोग करने में परेशानी हो रही है। अगर मैं एक निर्देशिका की रक्षा करना चाहता हूं और पहुंच प्रदान करने से पहले ब्राउज़र में एक मिलान करने वाला वेब प्रमाणपत्र मौजूद होना चाहता हूं। यह आईई 7 और मोज़िला के सभी संस्करणों के साथ ठीक काम करता है - सिर्फ आईई 8 नहीं। इसने मेरी पत्नी की श्रुतलेख प्रणाली को बेकार कर दिया है। एक और बात मैंने देखी है कि जब यह PHPSESSID कुकी सेट करता है, तो यह डोमेन को .NET के रूप में सूचीबद्ध करता है और mydomain.net नहीं।

8

कल मुझे इसी तरह की समस्या थी और समाधान मिला। मुझे आशा है कि इससे किसी और की मदद मिलेगी।

समस्या: वहाँ एक वेबसाइट www.somewebsite.com और इसके अंदर IFRAME whcih अपने सर्वर से php फाइल लोड, www.myserver.com/welcome.php मान लीजिए। वेबसाइट सफलतापूर्वक और मेरे स्वागत पृष्ठ को लोड कर रही थी और इसने "हैलो बॉब" जैसे कुछ दिखाए, इसलिए इसे सफलतापूर्वक उपयोगकर्ता मिला और उसे लॉग इन किया।

बाद में मेरी जावास्क्रिप्ट AJAX को किसी अन्य PHP फ़ाइल में कॉल कर रही थी, और प्रतिक्रिया दयालु थी "अधिकृत नहीं" राज्य में, इसलिए सत्र डेटा पूरी तरह से गायब था। पेज रीफ्रेश करने के बाद, सब ठीक से काम कर रहा था। और यह केवल आईई 8 के तहत हो रहा था!

मैंने सोचा कि समस्या सर्वर पर सत्र कुकीज़ भेजने के साथ थी, लेकिन जब मैंने Fiddler स्थापित किया, तो मैंने पाया कि IE8 कुकीज के साथ-साथ PHPSESSID को सही तरीके से भेज रहा था, लेकिन सर्वर सही SESSION ऑब्जेक्ट का पता लगाने में असमर्थ था।

पी 3 पी: सी.पी. = "आईडीसी डीएसपी COR ADM देवी TAIi पीएसए PSD Ivai IVDi Coni उसकी हमारे आईएनडी CNT"

लेकिन पहली बार कोई एक और अजीब बात यह है कि 2 बार सर्वर निम्नलिखित हेडर भेजा था। PHP स्क्रिप्ट में मैन्युअल रूप से हेडर जोड़ने के बाद, सब कुछ एक आकर्षण की तरह काम करता है!

तब, जब मुझे लगता है कि "P3P मंत्र" googled, मैं निम्नलिखित वेब साइट पाया:

http://adamyoung.net/IE-Blocking-iFrame-Cookies

निष्कर्ष: यकीन है कि आप हर पृष्ठ है कि एक कुकी सेट पर हैडर भेज रहे हैं ।

और यह केवलIE8 + पीएचपी संयोजन से संबंधित, एक ही समस्या ASP.NET, IE8 + JSP की IE8 + मामले में होता है नहीं है, आदि

+0

बेकार है यह मेरे गैर-फ्रेम जेसनपी क्रॉस-डोमेन अनुरोध का समाधान था जो कुकीज़ नहीं भेज रहा था। ग्रेसियस! – changokun

संबंधित मुद्दे