कॉर्स टेस्टर
क्रॉस-ओरिजिन रिसोर्स शेयरिंग (कॉर्स) नीतियों और एपीआई अनुरोधों का परीक्षण और डिबग करें
कॉर्स क्या है? कॉर्स (क्रॉस-ओरिजिन रिसोर्स शेयरिंग) एक तंत्र है जो वेब ब्राउज़र को ब्राउज़र में चल रही स्क्रिप्ट से क्रॉस-ओरिजिन अनुरोध (विभिन्न डोमेन, प्रोटोकॉल, या पोर्ट) करने की अनुमति देता है।
मुख्य कॉर्स हेडर
- Access-Control-Allow-Origin: निर्दिष्ट करता है कि किन मूलों को संसाधन तक पहुँचने की अनुमति है
- Access-Control-Allow-Methods: निर्दिष्ट करता है कि किन HTTP विधियों की अनुमति है
- Access-Control-Allow-Headers: निर्दिष्ट करता है कि किन HTTP हेडरों का उपयोग किया जा सकता है
- Access-Control-Allow-Credentials: निर्दिष्ट करता है कि क्रेडेंशियल (कुकीज़, HTTP प्रमाणीकरण) शामिल करना है या नहीं
💡 कॉर्स समाधान
सर्वर-साइड समाधान
1. Express.js (Node.js):
const cors = require('cors');
          app.use(cors({
            origin: 'https://example.com',
            methods: ['GET', 'POST'],
            credentials: true
          }));2. Spring Boot (Java):
@CrossOrigin(origins = "https://example.com")
          @RestController
          public class ApiController { ... }क्लाइंट-साइड समाधान
1. प्रॉक्सी सर्वर का उपयोग करना:
// package.json (React)
          "proxy": "http://localhost:3001"2. जेएसओएनपी (केवल गेट):
// सीमित लेकिन सरल समाधान
          fetch('api?callback=handleResponse')🔧 पर्यावरण द्वारा कॉर्स कॉन्फ़िगरेशन
नेक्स्ट.जेएस
// next.config.js
          module.exports = {
            async headers() {
              return [
                {
                  source: '/api/:path*',
                  headers: [
                    {
                      key: 'Access-Control-Allow-Origin',
                      value: '*'
                    }
                  ]
                }
              ]
            }
          }Nginx
location /api {
            add_header Access-Control-Allow-Origin *;
            add_header Access-Control-Allow-Methods 
              "GET, POST, OPTIONS";
            add_header Access-Control-Allow-Headers 
              "Content-Type, Authorization";
          }Apache
# .htaccess
          Header always set Access-Control-Allow-Origin "*"
          Header always set Access-Control-Allow-Methods 
            "GET, POST, OPTIONS"
          Header always set Access-Control-Allow-Headers 
            "Content-Type, Authorization"पर्यावरण द्वारा कॉर्स कॉन्फ़िगरेशन
परीक्षण परिदृश्य
- • सरल अनुरोध: गेट अनुरोधों के साथ बुनियादी कॉर्स व्यवहार का परीक्षण करें
- • प्रीफ्लाइट अनुरोध: पुट/डिलीट विधियों के साथ प्रीफ्लाइट अनुरोधों का परीक्षण करें
- • कस्टम हेडर: प्राधिकरण हेडर के साथ अनुरोधों का परीक्षण करें
- • क्रेडेंशियल: कुकीज़ के साथ अनुरोधों का परीक्षण करें
- • त्रुटि हैंडलिंग: विफलता परिदृश्यों का परीक्षण करें
सुरक्षा विचार
- • सुरक्षा जोखिमों के कारण वाइल्डकार्ड (*) उपयोग के साथ सावधान रहें
- • न्यूनतम विशेषाधिकार का सिद्धांत: केवल आवश्यक मूलों और विधियों की अनुमति दें
- • क्रेडेंशियल प्रतिबंध: क्रेडेंशियल शामिल करते समय केवल विशिष्ट मूलों की अनुमति दें
- • नियमित समीक्षा: समय-समय पर कॉर्स नीतियों की समीक्षा और अद्यतन करें
कॉर्स डिबगिंग टिप्स
ब्राउज़र डेवलपर उपकरण
- • नेटवर्क टैब में OPTIONS अनुरोधों की जाँच करें
- • कंसोल में कॉर्स त्रुटि संदेशों की तलाश करें
- • प्रतिक्रिया हेडरों में कॉर्स हेडरों को सत्यापित करें
उपयोगी उपकरण
- • कॉर्स टेस्टर (यह उपकरण)
- • पोस्टमैन (एपीआई परीक्षण के लिए)
- • कर्ल कमांड (सीधे सर्वर परीक्षण के लिए)