CORS JavaScript (Node.js): पूरी गाइड उदाहरणों के साथ

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

CORS लाइब्रेरी JavaScript (Node.js) के लिए: पूरी गाइड

1. यह क्या है और क्यों ज़रूरी है

CORS (Cross-Origin Resource Sharing) एक सुरक्षा तंत्र है जो ब्राउज़रों में लागू होता है। यह किसी दूसरे डोमेन (origin) से लोड हुई वेबपेजों के द्वारा संसाधनों (API, फॉन्ट, स्क्रिप्ट) तक पहुँच को नियंत्रित करता है। डिफ़ॉल्ट रूप से, ब्राउज़र उन HTTP रिक्वेस्ट को ब्लॉक कर देते हैं जो स्क्रिप्ट (जैसे fetch या XMLHttpRequest) के ज़रिए किसी दूसरे डोमेन पर भेजी जाती हैं। यह CSRF (Cross-Site Request Forgery) हमलों और डेटा लीक को रोकता है।

Node.js और Express के लिए cors लाइब्रेरी एक middleware (मिडलवेयर) है जो डेवलपर्स को सर्वर साइड पर CORS नीतियों को आसानी से कॉन्फ़िगर और मैनेज करने देती है। हेडर (Access-Control-Allow-Origin, Access-Control-Allow-Methods आदि) मैन्युअल रूप से लिखने और प्रीफ्लाइट रिक्वेस्ट (OPTIONS मेथड) को हैंडल करने के बजाय, यह लाइब्रेरी पूरी प्रक्रिया को ऑटोमेट कर देती है। यह Express की रिक्वेस्ट हैंडलिंग चेन में शामिल हो जाती है और रिस्पॉन्स में ज़रूरी हेडर जोड़ देती है।

यह क्यों ज़रूरी है? अगर आप Node.js पर कोई API बना रहे हैं जिसे फ्रंटएंड ऐप (React, Vue, Angular), मोबाइल ऐप या किसी तीसरे पक्ष की सेवा इस्तेमाल करेगी जो किसी दूसरे डोमेन (जैसे api.mysite.com के लिए app.mysite.com) से काम करती है, तो आपको ज़रूर CORS सेट करना होगा। इसके बिना, ब्राउज़र रिक्वेस्ट को ब्लॉक कर देगा और यूज़र को कंसोल में एरर दिखेगी। cors लाइब्रेरी इस सेटअप को लचीला, सुरक्षित और आसान बनाती है।

2. इंस्टॉलेशन

इंस्टॉलेशन npm (Node Package Manager) पैकेज मैनेजर के ज़रिए किया जाता है। सुनिश्चित करें कि आपके पास Node.js और npm इंस्टॉल है।

npm install cors

इंस्टॉल करने के बाद, पैकेज node_modules में जुड़ जाएगा और package.json फ़ाइल में इसकी एंट्री दिखेगी।

अगर आप yarn इस्तेमाल कर रहे हैं:

yarn add cors

3. तुरंत शुरुआत — एक न्यूनतम काम करने वाला उदाहरण

CORS का सबसे आसान तरीका है इसे सभी रिक्वेस्ट के लिए चालू कर देना। यह डेवलपमेंट या पब्लिक API के लिए ठीक है जहाँ किसी भी डोमेन से एक्सेस की अनुमति हो।

const express = require('express');
const cors = require('cors');

const app = express();

// सभी रूट्स के लिए CORS चालू करें
app.use(cors());

app.get('/api/data', (req, res) => {
    res.json({ message: 'यह रिस्पॉन्स सभी स्रोतों के लिए अनुमत है!' });
});

app.listen(3000, () => {
    console.log('सर्वर पोर्ट 3000 पर चालू है');
});

इस उदाहरण में, किसी भी डोमेन (जैसे http://localhost:8080 या https://example.com) से /api/data पर भेजी गई कोई भी रिक्वेस्ट सफलतापूर्वक प्रोसेस होगी। ब्राउज़र रिस्पॉन्स को ब्लॉक नहीं करेगा।

4. मुख्य तरीके/फंक्शन/क्लास

cors लाइब्रेरी एक मुख्य फंक्शन प्रदान करती है — cors(options), जो एक middleware फंक्शन लौटाती है। हालाँकि, सेटिंग्स options ऑब्जेक्ट के ज़रिए पास की जाती हैं, जो बहुत लचीलापन देता है। आइए 8 मुख्य ऑप्शन और तरीकों को देखें।

4.1. cors() — बेसिक कॉन्फ़िगरेशन (सब कुछ अनुमत)

सिग्नेचर: cors(options?: CorsOptions)

यह क्या करता है: एक middleware बनाता है जो रिस्पॉन्स में CORS हेडर जोड़ता है। बिना आर्गुमेंट के, यह किसी भी स्रोत (*), किसी भी मेथड और हेडर को अनुमति देता है।

अनुशंसाएँ