दिलचस्प पोस्ट
मैं अपने आईफोन सिम्युलेटर को .ipa फ़ाइल कैसे स्थापित कर सकता हूं I jQuery और छद्म तत्व कोड को एक अलग उपयोगकर्ता के रूप में चलाएं (सी #) एससीएसएस में एक और वर्ग भी शामिल है एंड्रॉइड इम्यूलेटर के आईपी पते को कैसे प्राप्त करें? रेल सर्वर ओएसएक्स 10.6.5 पर आरवीएम और रूबी 1.9.2-पी 0 का उपयोग करके mysql2 के साथ शुरू करने में विफल रहता है का अर्थ = समारोह घोषणा के बाद हटा दें Jqgrid में कॉलम रोकना योग्य है JSON.stringify का उपयोग करते हुए त्रुटि को स्ट्रिंग करना संभव नहीं है? आर में मूल्यों के आधार पर सशर्त रंगों के साथ प्लॉट सुपर सुपर क्लास विधि कॉलिंग सी में इनपुट को पढ़ने / पार्स कैसे करें? अकसर पूछे जाने वाले प्रश्न WPF के लिए विंडोज 7 थीम? जन्म तिथि के आधार पर आयु की गणना करें फ़ंक्शन के लिए मैं स्रोत कोड कैसे देख सकता हूं?

कॉरस पर XMLHttpRequest को समझना (responseText)

एक प्रोजेक्ट के लिए मैं उनके आसपास के विभिन्न एचटीएमएल 5 और जावास्क्रिप्ट तत्वों और सुरक्षा को देख रहा हूं और मैं अभी सीओआरएस के आसपास अपना सिर लेने की कोशिश कर रहा हूं।

मेरे परीक्षण के आधार पर, अगर मैं निकालता हूं ..

<?php header("Access-Control-Allow-Origin: *"); header('Access-Control-Allow-Methods: GET, POST, OPTIONS'); ?> 

..जो पृष्ठ तक पहुंचना है, मैं क्रोम पर कंसोल लॉग में निम्न देख रहा हूं:

 XMLHttpRequest cannot load http://www.bla.com/index.php. Origin http://bla2.com is not allowed by Access-Control-Allow-Origin. 

मैं इसे सही समझता हूं, फिर भी वायरसहार्क रिटर्न में HTTP / 1.1 200 ओके दिखाता है और डेटा में अनुरोध किया जा रहा पृष्ठ के स्रोत को दिखाता है। तो क्या यह सिर्फ ब्राउज़र और जावास्क्रिप्ट है जो प्रतिक्रिया को अवरुद्ध कर रहा है पाठ को किसी भी तरह से इस्तेमाल किया जा रहा है, हालांकि यह वास्तव में स्थानांतरित हो गया है?

कोड निम्नानुसार है:

  function makeXMLRequest() { xmlhttp=new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (xmlhttp.readyState==4) { alert(xmlhttp.responseText); } } xmlhttp.open("GET","http://www.bla.com/index.php",true); xmlhttp.send(); } 

अग्रिम में धन्यवाद।

वेब के समाधान से एकत्रित समाधान "कॉरस पर XMLHttpRequest को समझना (responseText)"

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

PUT या DELETE जैसे "गैर-सरल" HTTP क्रिया के लिए, ब्राउज़र एक विकल्प अनुरोध का उपयोग करके एक "प्रीफ़्लइट अनुरोध" जारी करता है। उस स्थिति में, ब्राउजर पहले यह देखने के लिए जांचता है कि क्या Access-Control-Allow-Origin और Access-Control-Allow-Methods के लिए क्रमशः जांच कर डोमेन और क्रिया समर्थित है या नहीं। (अधिक जानकारी के लिए एचटीएमएल 5 रॉक्स के सीओआरएस पेज पर " हेडलिंग अ नॉट-सो-सिक रिक्वेस्ट " देखें।) प्रीफलाइट रिजर्व में Access-Control-Allow-Headers में शामिल अनुमत गैर-सरल हेडर की सूची भी शामिल है।

इसका कारण यह है कि ग्राहक को सर्वर पर DELETE अनुरोध भेजने की अनुमति बहुत खराब हो सकती है, भले ही जावास्क्रिप्ट को क्रॉस-डोमेन परिणाम देखने के लिए कभी नहीं मिलता है – फिर भी, याद रखें कि सर्वर आम तौर पर यह सत्यापित करने के लिए कोई दायित्व नहीं है कि अनुरोध एक वैध डोमेन से आ रही है (हालांकि यह अनुरोध से Origin शीर्षलेख का उपयोग कर सकता है)।

तो क्या यह सिर्फ ब्राउज़र और जावास्क्रिप्ट है जो प्रतिक्रिया को अवरुद्ध कर रहा है पाठ को किसी भी तरह से इस्तेमाल किया जा रहा है, हालांकि यह वास्तव में स्थानांतरित हो गया है?

हाँ। आप जेएस के साथ कोई भी अनुरोध कर सकते हैं।

यह उस डेटा तक पहुंच है, जो समान मूल नीति को रोकता है।

अनुरोध जो दुर्भावनापूर्ण चीजों को करते हैं (जैसे " POST http://bank.example/give/money?to=attacker " या " POST http://forum.example.com/post?message=spamspamspamspam" ) को सीएसआरएफ हमले कहते हैं और सर्वर द्वारा इसके खिलाफ बचाव करना होगा