पोस्टमैन के साथ कोर


96

इस विषय को कुछ समय के लिए कहा गया है, लेकिन मुझे अभी भी कुछ समझ नहीं आ रहा है:

जब मैं जवाब के बारे में पढ़ता हूं

कोई 'प्रवेश-नियंत्रण-अनुमति-उत्पत्ति' शीर्ष लेख

मुद्दा यह कहता है कि क्रॉस डोमेन की अनुमति देने के लिए अनुरोधित सर्वर पर एक सेटिंग सेट की जानी चाहिए add_header 'Access-Control-Allow-Origin' '*';:।

लेकिन, कृपया मुझे बताएं कि पोस्टमैन (जो एक ग्राहक है) से क्यों पूछ रहा है , यह एक आकर्षण की तरह काम कर रहा है और मेरे पास अनुरोधित सर्वर से प्रतिक्रिया है?

धन्यवाद


25
पोस्टमैन एसओपी के बारे में परवाह नहीं करता है, यह एक ब्राउज़र नहीं एक देव उपकरण है।
मुसा

2
@Musa ठीक है, तो अगर यह एक ब्राउज़र (क्लाइंट) समस्या है, तो मुझे सर्वर पर कुछ संशोधित क्यों करना चाहिए?
इज़राइब

8
इसका सर्वर जो ब्राउज़र को बताता है कि उसकी सामग्री को एक्सेस करने के लिए किसी दिए गए साइट के लिए ठीक है ( कोर ) या नहीं है और ब्राउज़र इसे सम्मानित करता है
मूसा 10

मेरा भी यही सवाल है। इलेक्ट्रॉन पर इस मामले में कोई भी ऐसा कैसे कर सकता है।
मुलिस

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

जवाबों:


52

जैसा कि @Musa यह टिप्पणी करता है, ऐसा लगता है कि इसका कारण यह है:

डाकिया एसओपी के बारे में परवाह नहीं करता है, यह एक ब्राउज़र नहीं एक देव उपकरण है

वैसे यहां आपके ब्राउज़र पर काम करने के लिए क्रोम एक्सटेंशन है (यह एक क्रोम के लिए है, लेकिन आप एफएफ या सफारी के लिए खोज सकते हैं)।

यहां देखें कि क्या आप क्रॉस-ओरिजिन के बारे में अधिक जानना चाहते हैं और यह एक्सटेंशन के लिए क्यों काम कर रहा है।


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

5
विस्तार का लिंक टूट गया है।
जयरोज़ो

यही सवाल, इसके अलावा, एक विस्तार एकल मूल नीति को कैसे तोड़ सकता है?
इवान कोर्टेस रोमेरो

क्रोम-एक्सटेंशन का लिंक टूट गया है
OhadR

46

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

आखिरकार यह बहुत सीमित हो गया लेकिन डिफ़ॉल्ट विचार अभी भी ब्राउज़रों में बना हुआ है। वेब पेज को किसी भिन्न डोमेन पर जानकारी भेजने न दें। लेकिन यह सभी ब्राउज़र की जाँच है। क्रोम और फ़ायरफ़ॉक्स, आदि ने कोड बनाया है जो कहता है कि 'इस अनुरोध को भेजने से पहले, हम यह जांचने जा रहे हैं कि गंतव्य पृष्ठ का दौरा किया जा रहा है'।

पोस्टमैन (या cmd लाइन पर CURL) के पास चेक नहीं हैं। आप मैन्युअल रूप से एक साइट के साथ बातचीत कर रहे हैं ताकि आप जो भेज रहे हैं उस पर आपका पूरा नियंत्रण हो।


2
अधिक सटीक पोस्टमैन एक XmlHttp रिक्वेस्ट नहीं भेजता है जो चेक हो जाता है लेकिन एक शीर्ष स्तरीय नेटवर्क कॉल (जैसे कि एक नए ब्राउज़र टैब पर URL खोलना) इसलिए यह बाहर
निकालने पर

1
ब्राउज़र यह जाँच नहीं कर रहा है कि आपकी साइट किसी अन्य डोमेन को डेटा नहीं भेज रही है: यदि अन्य डोमेन साइट सभी उत्पत्ति की अनुमति दे रही है, तो आपका ब्राउज़र उसके साथ 100% ठीक है। यह विपरीत है, यह अन्य डोमेन की रक्षा कर रहा है, यदि आपकी साइट अधिकृत किए बिना अपने संसाधनों का उपयोग करेगी।
XouDo

40

CORS(क्रॉस-ऑरिजनल रिसोर्स शेयरिंग) और SOP(सेम-ओरिजिन पॉलिसी) सर्वर-साइड कॉन्फ़िगरेशन हैं जो क्लाइंट लागू करने या नहीं करने का निर्णय लेते हैं

ग्राहकों से संबंधित

  • ज्यादातर ब्राउजर हमले से संबंधित मुद्दों को रोकने के लिए इसे लागू करते हैंCSRF
  • अधिकांश विकास उपकरण इसकी परवाह नहीं करते हैं।

14

हालांकि यहां सभी उत्तर वास्तव में एक अच्छा विवरण हैं कि कोर्से क्या हैं, लेकिन आपके प्रश्न का सीधा उत्तर पोस्टमैन और ब्राउज़र के अंतर के कारण होगा।

ब्राउज़र: OPTIONSकिसी भी नए अनुरोध को एपीआई एंडपॉइंट पर भेजने से पहले सर्वर प्रकार की जांच करने और हेडर प्राप्त करने के लिए कॉल करता है। जहां इसकी जांच होती है Access-Control-Allow-Origin। इसे ध्यान में रखते हुए Access-Control-Allow-Originहेडर केवल वह निर्दिष्ट करता है जो सभी CROSS ORIGINS को अनुमति है, हालाँकि डिफ़ॉल्ट रूप से ब्राउज़र केवल उसी मूल की अनुमति देगा।

पोस्टमैन: सर्वर के लिए कॉल का उपयोग करके हेडर के प्रत्यक्ष GET, POSTऔर PUT, DELETEआदि की जांच करता है कि किस प्रकार का सर्वर है और हेडर प्राप्त कर रहा है।Access-Control-Allow-OriginOPTIONS


"एपीआई एंडपॉइंट के लिए कोई नया अनुरोध भेजने से पहले सर्वर प्रकार की जांच करने और हेडर प्राप्त करने के लिए विकल्प कॉल भेजता है - यह सच नहीं है। यह केवल गैर-साधारण अनुरोधों के लिए करता है।
क्वेंटिन

2

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

    const referrer_domain = "[enter-the-domain-name-of-the-referrer]"
    //check for the referrer domain
    app.all('/*', function(req, res, next) {
      if(req.headers.referer.indexOf(referrer_domain) == -1){
        res.send('Invalid Request')
      }

      next();
    });

राउटर के साथ अपनी फ़ाइल में कोड जोड़ें। यदि आपके पास "रूटर्स" के साथ एक फ़ाइल है, तो फ़ाइल के शीर्ष पर कोड जोड़ें। वही फ़ाइल जहाँ आपके पास है: कॉन्स्ट एक्सप्रेस = आवश्यकता ('एक्सप्रेस') कास्ट एप = एक्सप्रेस (); const cors = आवश्यकता ('cors');
समसेना

app.jsयदि आप node app.jsसर्वर को चलाने के लिए उपयोग करते हैं तो इसे संपादित करें ।
भरत पब्बा

जो आपके सर्वर को ddos ​​से बचा सकता है?
सुपरयूपरड्यूपर

-1

एक वेबसाइट की तरह कोर / एसओपी की जाँच करने के लिए ब्राउज़र / क्रोम पोस्टमैन प्लगइन का उपयोग करें। इन नियंत्रणों से बचने के बजाय डेस्कटॉप एप्लिकेशन का उपयोग करें।

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