2009-11-11 13 views
7

मैं वेब पेज पर एम्बेडेड फ्लैश घटकों के साथ पीएस 3 ब्राउज़र (नेटफ्रंट) का परीक्षण कर रहा हूं और फ्लैश से अनुरोध किए जाने के तरीके के साथ एक गंभीर गड़बड़ी प्रतीत होती है। ब्राउज़र एक रेफरर (रेफरर) जोड़ रहा है और इसी तरह फ़्लैश प्लेयर के परिणामस्वरूप डुप्लिकेट हेडर होते हैं। यह वास्तव में ठीक है अगर रेफरर हेडर समान हैं, हालांकि वे नहीं हैं, और नतीजतन अनुरोध http.sys द्वारा W2k8 पर रोक दिया गया है। यह मेरे लिए एक बड़ा मुद्दा है क्योंकि मेरे पास फ़्लैश घटक है जिसे कार्य करने के लिए वेब सेवाओं को कॉल करने की आवश्यकता है।डुप्लिकेट रेफरर हैडर - HTTP.sys barfs

क्या कोई तरीका है कि हम इन अनुरोधों को फ़िल्टर या अनुमति दे सकते हैं, संभवतः डुप्लिकेट हेडर को रास्ते में अलग कर सकते हैं।

कुछ समाधान है कि हम के बारे में सोचा लेकिन या तो इनकी या नहीं हमारे विकास और जीने वातावरण के साथ संभव हो रहे हैं कर रहे हैं:

  • सर्वर अनुरोध को साफ करने के सामने एक प्रॉक्सी जोड़ा जा रहा है।
  • हमारे लोड बैलेंसर्स पर अनुरोध को ठीक करना। यह हमारे लाइव पर्यावरण पर काम कर सकता है लेकिन देव में नहीं। इस ऑपरेशन को करने के लिए लोड बैलेंसर का भी उपयोग करना बुरा अभ्यास है, हमारी ऑपरेशंस टीम खुश नहीं होगी :)
  • Flashvars के माध्यम से प्रारंभिकरण के दौरान फ्लैश में सभी डेटा भेजें। संभावित रूप से जावास्क्रिप्ट के माध्यम से किसी भी अद्यतन/कॉलबैक कर रहे हैं। यह गन्दा लगता है और एक मंच के लिए महत्वपूर्ण कस्टम कोड की आवश्यकता होगी।
  • ब्राउज़र या फ्लैश को रेफरर हेडर भेजने से रोकें। यह स्वीकार्य होगा, हालांकि फ्लैश या नेटफ्रंट में इसे सक्षम करने का एक तरीका प्रतीत नहीं होता है।

संदर्भ के लिए निम्नलिखित अनुरोध समस्या को पुन: उत्पन्न करेगा (फिडलर या अन्य टूल में कॉपी और पेस्ट करें, मुझे लगता है कि आप आईआईएस 7, डब्ल्यू 2 के 8 के रूप में चल रहे हैं)। आपको 400 Bad Request प्रतिक्रिया प्राप्त करनी चाहिए।

 
GET/HTTP/1.1 
Host: localhost 
Referer: http://localhost/NetFrontBrowser/ 
Referer: http://localhost/Flash/ 

बहुत धन्यवाद

उत्तर

1

विंडोज डीडीके से stmedit "विंडोज फ़िल्टरिंग प्लेटफार्म (डब्ल्यूएफपी) का उपयोग कर एक ट्रांसमिशन कंट्रोल प्रोटोकॉल (टीसीपी) कनेक्शन के लिए एक स्ट्रिंग पैटर्न को प्रतिस्थापित करता है"।

अतिरिक्त हैकर का एक छोटा सा हिस्सा इसे एक एफएसएम में बदल देता है जो पहले रेफरर स्ट्रिंग के अलावा सभी को डंप कर सकता है।

1

अगर मैं इन 1-4 नंबर, मैं कहूँगा कि 2 अपनी लाइव पर्यावरण के लिए सबसे अच्छा समझ में आता है, जबकि 3 कुछ आप अपने विकास के वातावरण अगर सब करने की ज़रूरत होगी हो सकता है समान रूप से आपके लाइव वातावरण से मेल नहीं खा सकता है। संख्या 1 और 2 काफी समान हैं क्योंकि लोड बैलेंसर मूल रूप से एक रिवर्स प्रॉक्सी है। जैसा कि आपने इंगित किया है, संख्या 4, सोनी के ब्राउज़र और प्लगइन को अपडेट करने के लिए इंतजार किए बिना असंभव प्रतीत होता है, जो संभवत: ऐसा लगता है क्योंकि उन्होंने शायद इसे खेत की है और पहले स्थान पर खराब नियंत्रण है (जैसे फर्मवेयर मेरे कोरियाई बने टीवी पर पालो अल्टो में बनाया गया है, और जीपीएल का अनुपालन करने में उन्हें 10 महीने लग गए क्योंकि पर्याप्त रूप से संवाद करने में सक्षम नहीं होने के कारण)।

1

अपाचे में मॉड्यूल mod_headers है। यह आपकी समस्या का समाधान करेगा, लेकिन अगर आपको http.sys का उपयोग करना है, तो मैं mod_headers के बराबर कुछ खोजने का प्रयास करूंगा। शायद किसी ने mod.sheaders को http.sys पर पोर्ट किया है?

इसके अलावा मैं यूआरएल पुनर्लेखन का मूल्यांकन करूंगा। मुझे पता है कि यह हेडर के बारे में है, न कि यूआरएल, लेकिन शायद http.sys के यूआरएल रीराइटिंग मॉड्यूल (यदि यह मौजूद है) हेडर के बारे में जानता है।

मुझे लगता है कि http.sys के लिए mod_headers या mod_rewrite समकक्ष http.sys barfs से पहले अनुरोध को संभाल सकता है।

शुभकामनाएं!

1

एचटीएमएल में इसे जोड़ने से संदर्भक को इस्तेमाल होने से रोक दिया जाएगा यदि इसकी आवश्यकता नहीं है।

<meta name="referrer" content="never"> 

अगर उत्तर अच्छा है तो कृपया वोट दें!

+0

उत्तर के लिए धन्यवाद, दुर्भाग्य से मैं इसका परीक्षण नहीं कर सकता, और यह मुद्दा अतीत के बाद से लंबा है, लेकिन मुझे सोच पसंद है! दुर्भाग्यवश यह टैग ऐसा लगता है कि यह नेटफ्रंट ब्राउज़र के बाद विकसित किया गया था जिसे हम काम कर रहे थे, लेकिन यह समाधान किसी और के लिए अधिक मौजूदा समस्या के साथ काम कर सकता था। –