Chrome वेबकिट निरीक्षक में लगातार उत्पन्न होने वाली त्रुटि URL के साथ "असुरक्षित जावास्क्रिप्ट URL तक पहुँचने की कोशिश ..."


129

उदाहरण के लिए Facebook API के साथ काम करने पर Chrome (या कोई अन्य वेबकिट ब्राउज़र) इन "Unsafe JavaScript के URL के साथ फ्रेम एक्सेस करने का प्रयास ..." का एक टन फेंकता है।

यह वास्तविक ऑपरेशन में हस्तक्षेप नहीं करता है, लेकिन यह जावास्क्रिप्ट कंसोल को मूल रूप से अनुपयोगी बनाता है।

मैं जानना चाहूंगा कि क्या इन त्रुटियों को विशेष रूप से कंसोल में दबाने का कोई तरीका है? या अगर वहाँ अन्य समाधान आप लोग सोच सकते हैं, मैं वास्तव में इसकी सराहना करेंगे।

धन्यवाद।


1
वर्तमान में मैं केवल लॉग दिखाने के लिए कंसोल टैब सेट होने के वर्कअराउंड का उपयोग कर रहा हूं। मैं एक समाधान की तलाश कर रहा हूं जो मुझे त्रुटियों को ट्रैक करने की अनुमति देता है (बस यह एक नहीं है)।
नील सरकार

यह अच्छा होगा कि आप एपीआई का उपयोग कैसे कर रहे हैं, इसका एक नमूना प्रदान करें। ऐसा होने के बहुत सारे कारण हैं।
किलन

मुझे पता है कि आपका क्या मतलब है, लेकिन मुझे पूरा यकीन है कि यह किसी भी फेसबुक एकीकरण के साथ होता है। एक उदाहरण के लिए, इस डोमिनोज़ साइट (उत्पादन में) pizzaholdouts.com
नील सरकार

1
क्या आप बस क्रॉस-साइट स्क्रिप्टिंग की कोशिश नहीं कर रहे हैं? क्या आप अपने स्वयं के सर्वर से फेसबुक एपीआई पते का अनुरोध कर रहे हैं? रास्ता थोड़ा अलग है।
टॉमस डर्का

4
कुछ भी अनुरोध नहीं, मैं सिर्फ बॉयलरप्लेट सामान में डाल js काम कर एसडीके पाने के लिए developers.facebook.com/docs/reference/javascript
नील सरकार

जवाबों:


19

आप --disable-web-securityकमांड लाइन विकल्प के साथ क्रोम चलाकर परीक्षण के दौरान क्रॉस-डोमेन अनुरोधों की अनुमति दे सकते हैं । यह शायद त्रुटि से छुटकारा चाहिए (और एफबी को आपके परीक्षण की जासूसी करने की अनुमति देता है;)


हम्म कि पेचीदा है ... वहाँ एक तरीका है कि कमांड लाइन से अलग रास्ता तय करने के लिए है? मैंने कमांड लाइन से यह कोशिश की: /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --disable-web-securityऔर यह काम करने लगा! लेकिन यह कहा कि यह मेरी प्रोफ़ाइल लोड करने में सक्षम नहीं था ... किसी भी विचार को उस ध्वज को ऐप के भीतर से कैसे सेट किया जाए, या इसे उस पर डिफ़ॉल्ट करने के लिए सेट किया जाए?
नील सरकार

4
एक अद्यतन के रूप में, मैं अब क्रोम का विशेष रूप से उपयोग कर रहा हूं, और मुझे अभी भी इसका जवाब जानने में अच्छा लगेगा
नील सरकार

2
open -a '/Applications/Google Chrome Canary.app' --args --disable-web-security
सैंडस्ट्रॉम ऑक्ट

4

यह तब होता है जब किसी भिन्न डोमेन का कोई स्रोत लोड होता है और डॉक्यूमेंट को एक्सेस करने की कोशिश करता है। यह हेड स्रोतों (स्क्रिप्ट टैग) के साथ-साथ iframe दस्तावेजों के साथ होता है जो किसी कारण से document.cookie तक पहुंचने का प्रयास करते हैं।


4

समस्या क्या है?

Unsafe JavaScript attempt to access frame with URL...Chrome JS कंसोल में त्रुटि संदेशों का टन ।

जैसा कि @thechrisproject बताते हैं , ये त्रुटियां कई प्रतिष्ठित 3 पार्टी आपी के विजेट्स और विजेट्स के कारण होती हैं, जिनमें शामिल हैं:

  • फेसबुक जेएस एसडीके
  • Vimeo Iframe एम्बेड करें
  • Google मैप्स आइफ्रेम एम्बेड

क्यों पर मेरी समझ : (कृपया मुझे सही करें अगर मैं गलत हूँ)

Chrome में कड़ी सुरक्षा सेटिंग्स हैं और / या प्रतिस्पर्धा करने वाले ब्राउज़र की तुलना में अधिक ऐसी त्रुटियां दिखाता है। API / विजेट / एम्बेड लेखक उन चीज़ों (क्रॉस-डोमेन / फ़्रेम) को करने का प्रयास करते हैं जो सभी ब्राउज़रों में काम नहीं करेंगे (शायद अपनी खुद की रिपोर्टिंग / एनालिटिक्स के लिए), लेकिन यह वास्तव में उनके विजेट की उपयोगिता को प्रभावित नहीं करता है अगर ऐसा नहीं होता है काम (बस बहुत कष्टप्रद त्रुटियों का कारण बनता है)

शीघ्र जवाब

नहीं, आप क्रोम कंसोल में इन त्रुटियों को दबा नहीं सकते ( बस )।

समाधान?

  • हालत से समझौता करो। ये त्रुटियां वास्तव में इन 3 पार्टी एप्स और विजेट्स को नहीं तोड़ती हैं, वे सिर्फ कंसोल को उपयोग करने के लिए अधिक कठिन बनाते हैं
  • आप केवल चेतावनी, लॉग या डीबग संदेश लॉग करने के लिए कंसोल सेट कर सकते हैं। यह सभी त्रुटियों को छिपाएगा।
  • आप दूसरे ब्राउज़र का उपयोग कर सकते हैं
  • जैसा कि @Dagg_Nabbit। बताया गया है , आप --disable-web-securityकमांड लाइन विकल्प के साथ क्रोम चलाकर क्रॉस-डोमेन अनुरोधों की अनुमति दे सकते हैं । यहां अधिक जानकारी: Chrome में समान मूल नीति अक्षम करें । ध्यान दें कि यह सेटिंग आपके ब्राउज़र की सुरक्षा को नकारात्मक रूप से प्रभावित करेगी। मेरे पास 2 क्रोम शॉर्टकट हैं इसलिए मैं इसे इस झंडे के साथ या इसके बिना खोल सकता हूं।

3

चूँकि हम इस तरह के सुरक्षित ब्राउज़र के निर्माण के लिए Google से लोगों को दोष नहीं दे सकते हैं, मुझे लगता है कि सबसे अच्छा समाधान फेसबुक के सर्वर-साइड समाधान (जैसे PHP एसडीके) का उपयोग करना है, यह आपको बहुत, बहुत, बहुत, बहुत कुछ बचाएगा। बहुत अधिक सिरदर्द। FB जावास्क्रिप्ट एसडीके का उपयोग करने में मुझे जो एकमात्र फायदा दिखाई देता है वह पॉपअप लॉगिन है जिसे आप जावास्क्रिप्ट / jQuery का उपयोग करके स्वयं कर सकते हैं।


6
PHP SDK (या अन्य सर्वर साइड SDK) का उपयोग करने से बहुत सारे सिरदर्द क्यों बचेंगे?
स्टीव हॉर्न

@steve: क्रोम द्वारा असुरक्षित ग्राहक के प्रसंस्करण के बारे में बहुत सारे अनुरोधों को अस्वीकार करने का एकमात्र तथ्य यह है कि यह बहुत ही महत्वपूर्ण है।
झौरलाड एस्ट्रेला

2
जेएस कंसोल का आईएमएचओ प्रदूषण तर्क सर्वर-साइड या क्लाइंट साइड को तय करने में प्राथमिक विचार नहीं होना चाहिए।
ज़ैक लिसोबेई

1
प्रदर्शन, सुरक्षा, कोड संगठन / रख-रखाव, पोर्टेबिलिटी - वे सभी चीज़ें जिन पर मैं सबसे पहले विचार करता हूँ। stackoverflow.com/questions/1516852/…
Zach Lysobey

2

जब आप अपने ऐप को फेसबुक के साथ पंजीकृत करते हैं, तो ये त्रुटियां फेंकी जा सकती हैं, आपके पास साइट URL फ़ील्ड में कोई आगे चल रहा स्लैश नहीं है। दूसरे शब्दों में, आपको " http://domain.com / " नहीं " http://domain.com " चाहिए

आप डेवलपर्स से साइट URL सेटिंग की जांच कर सकते हैं ।facebook.com/ apps सेटिंग्स संपादित करें -> मूल -> साइट URL।


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