2008-09-01 16 views
5

मुझे अपने पूर्व छात्रों समूह के लिए एक छोटी वेबसाइट को प्रशासित करना है जो मेरे आईएसवी द्वारा होस्ट किया गया है। यूआरएल www.myIsv.com/myWebSite/ जैसा कुछ है जो काफी बदसूरत और बहुत भूलने योग्य है। वेब सर्वर के मुख्य व्यवस्थापक एक डोमेन नाम www.mysmallwebsite.com पंजीकृत किया गया है और इस सामग्री के साथ एक index.html डाल:PHP: सत्र परिवर्तनीय उपयोग नहीं किया जाता है जब साइट रीडायरेक्ट की जाती है

<html> 
<head> 
<title>www.mysmallwebsite.com</title> 
</head> 

<frameset> 
    <frame src="http://www.myIsv.com/myWebSite/" name="redir"> 
     <noframes> 
     <p>Original location: 
      <a href="www.myIsv.com/myWebSite/">http://www.myIsv.com/myWebSite/</a> 
     </p> 
     </noframes> 
</frameset> 
</html> 

यह ठीक काम करता है, लेकिन पीएचपी सत्र चर की तरह कुछ सुविधाओं को अब और काम नहीं करता है! किसी को भी इसे सुधारने के लिए एक सुझाव है?

संपादित करें: यह IE पर और Firefox (कोई प्लग-इन)

धन्यवाद

उत्तर

4

सत्र सर्वर और डोमेन से जुड़े हुए हैं। डोमेन भर में फ़्रेमसेट का उपयोग करने से सभी तरह के टूटने का कारण बन जाएगा क्योंकि यह सिर्फ इतना नहीं है कि इसे कैसे किया गया था।

अपाचे आधुनिक पुनर्लेखन का उपयोग कर एक "पासथ्रू पुनर्निर्देशन", "प्रॉक्सी" झंडा ([पी]) नियम में जादू झंडा कि आप की आवश्यकता

प्रलेखन पर http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html

है बनाने के लिए प्रयास करें
0

पर दोनों आपका क्या मतलब है काम नहीं करता है? क्या आप कह रहे हैं कि जब आप www.mysmallwebsite.com से www.myIsv.com/myWebSite/ पर जाते हैं तो PHP सत्र गुम हो जाता है?

PHP एक आईडी (अल्फा-न्यूमेरिक हैश सर्वर पर जेनरेट) के साथ सत्र को पहचानता है। आईडी को PHPSESSID नामक कुकी का उपयोग करने के अनुरोध से अनुरोध किया गया है या ऐसा कुछ (आप कुकीज़ को अपने ब्राउज़र की मदद से सेट कर सकते हैं ... फ़ायरफ़ॉक्स पर आपके पास फ़ायरबग + फ़ायरकुकी और अद्भुत वेब डेवलपर टूलबार है .. जिसके साथ आप पसीने के बिना कुकीज़ की सूची देख सकते हैं)।

तो ... PHP PHPSESSID कुकी के माध्यम से सत्र आईडी पास कर रहा है। लेकिन आप सत्र आईडी को एक सादे GET अनुरोध पैरामीटर के रूप में पास कर सकते हैं।

तो जब आप बदसूरत डोमेन नाम के लिए एचटीएमएल लिंक, यह मानते हुए यह एक ही पीएचपी सर्वर (एक ही सत्र प्रारंभ के साथ) है, आप इसे इस तरह रख सकते हैं ...

www.myIsv.com/myWebSite/?PHPSESSID=<?=session_id()?> 

मैं थोड़ी देर के लिए PHP के साथ काम नहीं किया है, लेकिन मुझे लगता है कि यह काम करेगा।

0

यदि आप http://www.myIsv.com/myWebSite/ पर सीधे हिट करते हैं तो सत्र चर काम करते हैं? ऐसा लगता है कि सर्वर कॉन्फ़िगरेशन यह निर्धारित करेगा कि सत्र काम करेगा या नहीं। हालांकि, अगर आप किसी भी तरह www.mysmallwebsite.com पर सत्र शुरू कर रहे हैं (ऐसा लगता है कि आप PHP का उपयोग नहीं कर रहे हैं, लेकिन शायद आप हैं), तो आप कुछ बैकएंड लिखने के बिना सत्र डेटा स्थानांतरित करने में सक्षम नहीं होंगे तर्क जो सर्वर से सर्वर पर सत्र चलाता है।

0

अपनी स्क्रिप्ट की शुरुआत में session_start() चिपकाएं और देखें कि आप फिर से चर का उपयोग कर सकते हैं या नहीं।

0

यह काम नहीं कर रहा है क्योंकि क्लाइंट सत्र प्रति डोमेन हैं। सभी कुकीज़ mysmallwebsite.com के लिए सहेजी जा रही हैं, इसलिए myIsv.com उन तक नहीं पहुंच सकता है।

0

@ pix0r www.myIsv.com/myWebSite/ -> सत्र चर काम www.mysmallwebsite.com -> सत्र चर

@Alexandru काम नहीं करता है दुर्भाग्य से यह एक ही वेब सर्वर

पर नहीं है
0

आपके पास क्या ब्राउज़र/विज्ञापन है? यह आपका ब्राउज़र या कुछ अन्य सॉफ़्टवेयर हो सकता है (यहां तक ​​कि वेब सर्वर भी हो सकता है) फ्रेम के साथ-साथ फ्रेम में काम कर रहे http://www.myIsv.com/myWebSite/ से सत्रों को अवरुद्ध कर रहा है, क्योंकि यह एक अलग साइट पर स्थित है, यह एक एक्सएसएस हमला सोच रहा है।

यदि सत्र http://www.myIsv.com/myWebSite/ पर फ्रेम के साथ काम करता है तो आप हमेशा फ्रेम का उपयोग करने के बजाय http://www.mysmallwebsite.com से बदसूरत यूआरएल पर रीडायरेक्ट कर सकते हैं।

संपादित करें: मैंने अपने साइट पर बस फ्रेम कोड का उपयोग किया है जो सत्रों का उपयोग करता है, फ़ायरफ़ॉक्स ठीक काम करता है, मेरे साथ लॉग इन करता है और लॉग इन रहता है, लेकिन आईई 7 ने मुझे फिर से लॉग आउट किया।

0

तो जब आप बदसूरत डोमेन नाम के लिए एचटीएमएल लिंक, यह मानते हुए यह एक ही पीएचपी सर्वर (एक ही सत्र प्रारंभ के साथ) है, आप इसे इस तरह रख सकते हैं ...

www.myIsv.com/myWebSite/?PHPSESSID=<?=session_id()?>

देखने के एक सुरक्षा की दृष्टि से, मैं वास्तव में वास्तव में वास्तव में, उम्मीद है कि

0

काम नहीं करता है तुम भी उपयोगकर्ता के पक्ष पर एक कुकी सेट कर सकता है और उसके बाद सीधे पुनः निर्देशित करने के बाद कि कुकी की उपस्थिति की जांच जो अगर आप दोस्ताना यूआरएल के बारे में परेशान हैं इसका मतलब यह होगा कि आपको क्वेरी स्ट्रिंग में एक PHPSESSID को पास करने की आवश्यकता नहीं है।

0

जब लोग @ www.mysmallwebsite.com मैं सिर्फ http://www.myIsv.com/myWebSite/

<?php header('Location: http://www.myIsv.com/myWebSite/'); ?> 

पर पुन: निर्देशित होगा यह सब है मैं www.mysmqllwebsite.com/index.php
में होता है इस तरह से आप न करने के लिए है पहुंचें browsedr संगतता, या सत्र के मौसम के मौसम के बारे में चिंता करें, केवल redirct करें, और आप अच्छे होंगे।

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

  • कोई संबंधित समस्या नहीं^_^