2012-11-12 12 views
31

मुझे यह त्रुटि फ़ायरफ़ॉक्स के कंसोल में मिल रही है: SecurityError: The operation is insecure और दोषी HTML5 विशेषता है: window.history.pushState() जब मैं AJAX के साथ कुछ लोड करने का प्रयास करता हूं। यह कुछ डेटा लोड करना है, लेकिन जावास्क्रिप्ट त्रुटि पर निष्पादन बंद कर देता है।सुरक्षा त्रुटि: ऑपरेशन असुरक्षित है - window.history.pushState()

मुझे आश्चर्य है कि यह क्यों हो रहा है। क्या यह कुछ सर्वर गलत कॉन्फ़िगरेशन है? किसी भी सहायता की सराहना की जाएगी।

अद्यतन: http://en.wikipedia.org/wiki/Same-origin_policy

+4

क्या आप 'फ़ाइल: ///' यूआरएल पर पहुंच रहे हैं? – robertc

+0

@robertc आपका क्या मतलब है? यह हर समय 'http: //' है। मुझे संदेह है कि यह उप-डोमेन के उपयोग के कारण हो सकता है लेकिन 'pushState' केवल '/' को धक्का देने का प्रयास करता है, इसलिए इसका कोई प्रभाव नहीं होना चाहिए। – Atadj

+0

मैं बस जांच रहा था ... – robertc

उत्तर

27

सुनिश्चित करें कि आप Same Origin Policy अनुसरण कर रहे हैं बनाओ: हाँ, यह डोमेन नाम से मेल नहीं खाने के साथ एक सर्वर त्रुटि हुई। इसका मतलब है एक ही डोमेन, एक ही सबडोमेन, एक ही प्रोटोकॉल (http बनाम https) और एक ही पोर्ट।

How does pushState protect against potential content forgeries?

संपादित करें: @robertc के रूप में जिसे उपयुक्त उसकी टिप्पणी में बताया, कुछ ब्राउज़र वास्तव थोड़ा अलग सुरक्षा नीतियों को लागू जब मूल file:/// है। नहीं आप जब file:/// साथ स्थानीय रूप से परीक्षण जब पेज यह एक अलग मूल से चल रहा है (और इसलिए अपने pushState उत्पादन मूल परिदृश्यों, नहीं स्थानीय होस्ट परिदृश्यों मान लिया गया है)

2

मेरे मामले में मैं www नहीं था 'उम्मीद समस्याओं का सामना कर सकते हैं उल्लेख करने के लिए। ' यूआरएल से मैं धक्का दे रहा था। यह सटीक मिलान किया जाना चाहिए, अगर आप www.test.com पर काम कर रहे हैं, तो आप www.test.com करने के लिए धक्का और चाहिए नहीं test.com

2

आप नहीं की कोशिश करनी चाहिए एक फ़ोल्डर-अन्वेषक विधि (यानी file://) के साथ फ़ाइल को खोलने, लेकिन http:// से कि फ़ाइल को खोलने के (यानी http://yoursite.com/http://localhost/ से)

0

मुझे एक ही समस्या थी जब जावास्क्रिप्ट "भौतिक" पता डाले बिना फ़ाइल से एक और जावास्क्रिप्ट फ़ाइल कहा जाता था। "Archivo.js" के बदले "जे एस/archivo.js"

2

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

+0

आपने इस मुद्दे को कैसे हल किया? –

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