दिलचस्प पोस्ट
जावा में, मैं एक बाइट सरणी को हेक्स अंकों की स्ट्रिंग में कैसे बदलूं, जबकि अग्रणी शून्य रखते हुए? .NET का उपयोग करते हुए एक निर्देशिका में सबसे हाल की फ़ाइल को कैसे ढूंढें, और बिना पाशन? प्रोग्राम को एक बटन कैसे बनाएं? कैसे नेटवर्क्स के साथ विंडोज 64-बिट प्लेटफॉर्म का पता लगा सकता है? जावा थ्रेड में मैं एक पैरामीटर कैसे पास कर सकता हूं? आईओएस 6 और आईओएस 7 में यूडीआईडी ​​कैसे प्राप्त करें Linq में संस्थाओं के लिए स्ट्रिंग को बदलने में समस्या C ++ कंसोल एप्लिकेशन को तुरंत से बाहर निकलने से कैसे रोकें? पृष्ठ को पुनः लोड करते समय चेकबॉक्स की जांच क्यों की जाती है? 'बी' वर्ण स्ट्रिंग के सामने क्या करता है? बहुसंख्यक प्रक्रियाओं के बीच बड़े, रीड-ओनल नंबू एरे साझा करें जैक्सन का उपयोग करते हुए JSON वस्तुओं पर नए फ़ील्ड्स को अनदेखा करना Grails JSONBuilder .htaccess में अपाचे टाइमआउट निर्देश को कैसे बढ़ाएं? एकाधिक फ़ाइलों में स्ट्रिंग कैसे खोजनी है और पॉवरहेल में फ़ाइलों के नामों को वापस लाया जाता है?

एक्स-अनुरोधित-हेडर के साथ क्या बात है?

JQuery और अन्य फ्रेमवर्क निम्न शीर्षलेख जोड़ते हैं:

एक्स-अनुरोधित-साथ: XMLHttpRequest

यह क्यों आवश्यक है? सामान्य अनुरोधों की तुलना में एक सर्वर AJAX अनुरोधों को अलग-अलग तरीके से क्यों व्यवहार करना चाहता है?

अद्यतनः मुझे इस शीर्षक का उपयोग करके एक वास्तविक जीवन उदाहरण मिला: https://core.spreedly.com/manual/payment-methods/adding-with-js यदि भुगतान प्रोसेसर का अनुरोध AJAX के बिना किया जाता है, तो यह मूल वेबसाइट पर वापस ले जाता है जब यह किया जाता है। जब यह AJAX के साथ अनुरोध किया जाता है, तो कोई पुननिर्देशन नहीं किया जाता है।

Solutions Collecting From Web of "एक्स-अनुरोधित-हेडर के साथ क्या बात है?"

एक अच्छा कारण सुरक्षा के लिए है – यह सीएसआरएफ के हमलों को रोका जा सकता है क्योंकि इस हेडर को सीएआरएस द्वारा सर्वर की सहमति के बिना एजेएक्स अनुरोध क्रॉस डोमेन में जोड़ा नहीं जा सकता है ।

केवल निम्नलिखित हेडर को क्रॉस डोमेन की अनुमति है:

  • स्वीकार करना
  • स्वीकार करें-भाषा
  • सामग्री-भाषा
  • अंतिम-घटना-आईडी
  • सामग्री प्रकार

किसी भी अन्य ने CORS समर्थित ब्राउज़र में "पूर्व-उड़ान" अनुरोध जारी किया है।

सीओआरएस के बिना X-Requested-With एक क्रॉस डोमेन XHR अनुरोध के X-Requested-With जोड़ना संभव नहीं है।

यदि सर्वर यह हेडर मौजूद है, तो यह जानता है कि यह अनुरोध किसी हमलावर के डोमेन से जावास्क्रिप्ट के साथ उपयोगकर्ता की ओर से अनुरोध करने का प्रयास नहीं करता है। यह यह भी जांचता है कि अनुरोध को नियमित HTML फ़ॉर्म से पोस्ट नहीं किया गया था, जिसमें से यह सत्यापित करना कठिन है कि टोकन के उपयोग के बिना डोमेन पार नहीं है। (हालांकि, Origin हेडर को जांचने के लिए समर्थित ब्राउज़र में एक विकल्प हो सकता है, हालांकि आप पुराने ब्राउज़र को असुरक्षित छोड़ देंगे ।)

नई फ्लैश बायपास की खोज की गई

आप इसे टोकन के साथ जोड़ना चाहते हैं, क्योंकि एक रीडायरेक्ट कदम है , क्योंकि OSX पर सफ़ारी पर चलने वाले इस हेडर को सेट कर सकते हैं । ऐसा प्रतीत होता है कि यह Chrome पर भी काम करता है , लेकिन अब इसका रीमेडिएटेड है यहां विभिन्न विवरण प्रभावित हुए हैं।

OWASP एक उत्पत्ति और रेजर की जांच के साथ इस संयोजन की सिफारिश :

यह रक्षा तकनीक विशेष रूप से क्रॉस-साइट अनुरोध जालसाज के लिए मजबूत सुरक्षा के अनुभाग 4.3 में चर्चा की गई है। हालांकि, फ्लैश का उपयोग करके इस रक्षा के बायपास को 2008 के रूप में शुरू किया गया था और हाल ही में 2015 में मैथियास कार्ल्ससन द्वारा वीएमईओ में सीएसआरएफ़ के दोष का फायदा उठाने के लिए दायर किया गया था। लेकिन, हम मानते हैं कि फ्लैश हमले मूल या रेफरीर हेडरों को नहीं धोखा दे सकता है, इसलिए वे दोनों को चेक करके हम मानते हैं कि चेक के संयोजन को फ़्लैश बाईपास सीएसआरएफ हमलों को रोकना चाहिए। (नोट: अगर कोई इस विश्वास की पुष्टि या खंडन कर सकता है, तो कृपया हमें बताएं कि हम इस लेख को अपडेट कर सकते हैं)

हालांकि, मूल कारणों की जांच के लिए पहले से ही जांच मुश्किल हो सकती है

अद्यतन करें

सीओआरएस, सीएसआरएफ और एक्स-अनुरोध पर गहराई से ब्लॉग पोस्ट में लिखा गया है- यहां के साथ ।

सुनिश्चित करें कि आपने सिल्वरलाइटक्स का उत्तर पढ़ा है। यह एक और महत्वपूर्ण कारण बताता है

इसका मुख्य कारण यह है कि यदि आप एक अनुरोध के स्रोत को जानते हैं तो आप इसे थोड़ा अनुकूलित कर सकते हैं।

उदाहरण के लिए कहें कि आपके पास एक वेबसाइट है जिसमें कई व्यंजन हैं। और आप एक कस्टम jQuery के ढांचे का उपयोग किसी लिंक पर आधारित व्यंजनों को एक कंटेनर पर स्लाइड करने के लिए करते हैं। लिंक हो सकता है www.example.com/recipe/apple_pie

अब आम तौर पर एक पूर्ण पेज, हैडर, पाद लेख, नुस्खा सामग्री और विज्ञापन लौटाता है। लेकिन अगर कोई आपकी वेबसाइट ब्राउज़ कर रहा है तो उन भागों में से कुछ पहले ही लोड हो चुके हैं। तो आप उपयोगकर्ता द्वारा चयनित नुस्खा प्राप्त करने के लिए AJAX का उपयोग कर सकते हैं, लेकिन समय बचाने के लिए और बैंडविड्थ शीर्षलेख / पाद लेख / विज्ञापन लोड नहीं करते हैं।

अब आप बस www.example.com/recipe_only/apple_pie जैसे डेटा के लिए एक द्वितीयक समापन बिंदु लिख सकते हैं लेकिन अन्य लोगों को बनाए रखने और साझा करने के लिए कठिन है

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

चौखटे सिर्फ हेडर जोड़ते हैं क्योंकि कुछ को यह पता लगाना उपयोगी हो सकता है कि कौन से अनुरोध एजेक्स हैं और जो नहीं हैं। लेकिन यह पूरी तरह से ऐसी तकनीक का उपयोग करने के लिए डेवलपर पर निर्भर है।

यह वास्तव में Accept-Language हैडर के समान है एक ब्राउज़र एक वेबसाइट का अनुरोध कर सकता है कृपया मुझे इस वेबसाइट के रूसी वर्शन को / यूआरएल / यूआरएल में डालने के लिए बिना दिखाए।

कुछ चौखटे xhr अनुरोधों का पता लगाने के लिए इस हेडर का प्रयोग कर रहे हैं जैसे उदास वसंत सुरक्षा इस हेडर का उपयोग एक्सर अनुरोध को पहचानने और प्रतिक्रिया के रूप में या तो जेसन प्रतिक्रिया या एचटीएमएल प्रतिक्रिया देने के लिए करती है।

सबसे अजाक्स लाइब्रेरीज़ (प्रोटोटाइप, JQuery, और Dojo v2.1 के रूप में) में एक्स-अनुरोधित- हेडर शामिल होता है जो संकेत करता है कि XMLHttpRequest द्वारा एक नियमित हाइपरलिंक क्लिक करने या फॉर्म सबमिट बटन पर क्लिक करने के बजाय अनुरोध किया गया था।

स्रोत: http://grails-plugins.github.io/grails-spring-security-core/guide/helperClasses.html