CORS टेस्टर

CORS हेडर और क्रॉस-ओरिजिन रिसोर्स शेयरिंग नीतियों का परीक्षण करें। मुफ़्त, तेज़ और पूरी तरह आपके ब्राउज़र में, बिना साइन-अप के।

अपडेट किया गया

Share:
Home/Website Tools/CORS Tester & Debugger

CORS Tester & Debugger

Test CORS headers for any API endpoint and debug cross-origin issues.

CORS Tester

अक्सर पूछे जाने वाले प्रश्न

मेरा browser 'blocked by CORS policy' क्यों कहता है जबकि API Postman में काम करता है?

Postman और curl browsers नहीं हैं, इसलिए वे same-origin policy को पूरी तरह ignore करते हैं — वे request भेजते हैं और response पढ़ते हैं चाहे कौन से headers return हों। एक browser सख़्त है: जब एक origin पर JavaScript एक अलग scheme, domain, या port को call करती है, तो यह आपके code को response तभी पढ़ने देता है जब server सही Access-Control-Allow-Origin header return करता है। अगर वह header missing है, तो request अभी भी server तक पहुँचती है और डेटा return करती है, लेकिन browser response को आपके script से hide कर देता है और CORS error log करता है। इसीलिए एक endpoint Postman में स्वस्थ दिख सकता है फिर भी console में fail होता है। यह टूल server द्वारा return किए गए actual CORS headers inspect करता है, ताकि आप confirm कर सकें कि problem server-side configuration है न कि आपके fetch code में। अपना endpoint पेस्ट करें ताकि आप सटीक रूप से देख सकें कि कौन से headers मौजूद हैं।

CORS preflight request क्या है और browser इसे कब भेजता है?

एक preflight एक automatic OPTIONS request है जो browser real request से पहले भेजता है, जो server से पूछती है कि क्या actual call allowed है। यह "non-simple" requests के लिए होती है: PUT, DELETE, या PATCH जैसे methods, custom request headers, या application/json जैसे content types। Browser Access-Control-Request-Method और Access-Control-Request-Headers include करता है, और server को matching Access-Control-Allow-Methods और Access-Control-Allow-Headers values से जवाब देना चाहिए, वरना real request कभी fire नहीं होती। Standard headers वाले simple GET और POST requests इस step को skip करते हैं। चूँकि preflights ज़्यादातर fetch code में invisible होते हैं, एक failing OPTIONS handshake CORS errors का एक आम और confusing cause है। यह tester आपको request को OPTIONS के रूप में भेजने और server द्वारा report किए गए allowed methods और headers inspect करने देता है, ताकि आप एक blocked console message से guess करने के बजाय preflight contract को सीधे verify कर सकें।

Access-Control-Allow-Credentials तब क्यों fail होता है जब origin wildcard है?

CORS specification credentialed requests को wildcard origin के साथ combine करने से मना करती है, और हर browser इसे enforce करता है। जब आप cross-origin cookies या authorization headers भेजते हैं, तो server को Access-Control-Allow-Origin में एक विशिष्ट origin echo back करना चाहिए — कभी catch-all asterisk नहीं। अगर एक server Access-Control-Allow-Credentials: true और Access-Control-Allow-Origin wildcard set दोनों के साथ respond करता है, तो browser response को outright reject करता है और आपका request fail हो जाता है, भले ही headers permissive दिखें। Fix यह है कि wildcard के बजाय exact requesting origin reflect करें, फिर credentials header true पर रखें। यह टूल उस exact dangerous combination को अपने CORS analysis में एक error के रूप में flag करता है, ताकि आप इसे एक authenticated front-end break होने से पहले catch कर सकें। अपना credentialed endpoint इसमें चलाएँ ताकि confirm कर सकें कि origin विशिष्ट है न कि wildcarded।

क्या wildcard Access-Control-Allow-Origin (*) इस्तेमाल करना सुरक्षित है?

एक wildcard origin internet पर किसी भी वेबसाइट को आपके API में cross-origin requests बनाने और response पढ़ने की अनुमति देता है, जो genuinely public डेटा जैसे open datasets, public read-only APIs, या static JSON के लिए बिल्कुल ठीक है। यह तब risky हो जाता है जब endpoint कुछ sensitive return करता है या एक user के cookies के साथ reachable है, क्योंकि एक malicious साइट फिर एक visitor की behalf पर इसे call कर सकती है। एक नियम के रूप में, Access-Control-Allow-Origin को उन विशिष्ट domains तक सीमित करें जिन्हें legitimately access चाहिए, न कि सबके लिए खोल दें, और wildcard को कभी credentials के साथ जोड़ें नहीं। यह tester एक wildcard origin को warning और एक विशिष्ट domain को good label करता है, ताकि आप एक नज़र में देख सकें कि एक endpoint कितना exposed है। अपना URL यहाँ test करें ताकि जाँच सकें कि इसकी origin policy जो डेटा यह serve करता है उसकी sensitivity से match करती है या नहीं।

Access-Control-Max-Age header CORS performance के लिए क्या करता है?

Access-Control-Max-Age browser को बताता है कि वह कितने seconds तक एक preflight OPTIONS request का result cache कर सकता है। जब तक वह cache valid है, browser extra round trip skip करता है और real request सीधे भेजता है, जो उन apps को noticeably speed करता है जो एक ही endpoint पर कई non-simple requests fire करते हैं। इसके बिना, browser हर call पर re-preflight कर सकता है, जो latency add करता है। Values browser द्वारा cap होते हैं — Chrome एक ज़्यादा number के बावजूद cache को couple of hours तक limit करता है — इसलिए एक enormous value set करना उस ceiling से आगे help नहीं करता। एक missing Max-Age का मतलब बस कोई preflight caching नहीं है। यह टूल header पढ़ता है और raw seconds को अपने analysis में minutes में translate करता है, ताकि आप जल्दी से जज कर सकें कि preflights कितने aggressively cache होते हैं। अपना endpoint test करें ताकि आप देख सकें कि यह एक useful Max-Age set करता है या नहीं।

संबंधित टूल

मुफ़्त वेबसाइट स्पीड टेस्ट

अपनी वेबसाइट के पेज लोड समय, प्रदर्शन मेट्रिक्स और अनुकूलन के अवसरों का विश्लेषण करें। मुफ़्त, तेज़ और पूरी तरह आपके ब्राउज़र में काम करता है, बिना साइन-अप के।

मुफ़्त मोबाइल फ्रेंडली टेस्ट

जांचें कि आपकी साइट मोबाइल डिवाइस के लिए अनुकूलित है या नहीं। मुफ़्त, तेज़ और पूरी तरह आपके ब्राउज़र में काम करता है, बिना साइन-अप के।

मुफ़्त मेटा टैग एक्सट्रैक्टर

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

मुफ़्त वेबसाइट स्क्रीनशॉट टूल

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

CORS Tester के बारे में

CORS Tester check करता है कि कोई भी API endpoint cross-origin requests पर कैसे respond करता है, ताकि आप सटीक रूप से देख सकें कि एक server कौन से Cross-Origin Resource Sharing headers वापस भेजता है और एक browser आपके front-end को क्यों block कर रहा है। एक URL enter करें, एक HTTP method चुनें, और टूल endpoint fetch करता है और status code, CORS-relevant headers, full response header set, और response body के पहले हिस्से को report करता है। यह front-end developers, API engineers, और किसी भी उस व्यक्ति के लिए बनाया गया है जो "blocked by CORS policy" error debug कर रहा है जो browser console में दिखता है।

चूँकि एक browser एक page को raw cross-origin response पढ़ने नहीं देता, टूल आपका request एक public proxy (corsproxy.io) के ज़रिए भेजता है और वापस आने वाले headers inspect करता है। इसका मतलब है कि request आपकी डिवाइस से निकलती है — इसलिए private या staging endpoints test करें, न कि ऐसे private credentials पेस्ट करें जो आप एक third party को दिखाना नहीं चाहते। इस्तेमाल के लिए कोई sign-up, account, या install नहीं चाहिए।

CORS Tester क्या check करता है

टूल standard CORS response headers पढ़ता और explain करता है:

  • Access-Control-Allow-Origin — server कौन से origin(s) permit करता है। टूल flag करता है कि CORS configure है या नहीं, और कि value एक विशिष्ट domain है या wildcard।
  • Access-Control-Allow-Methods — वे HTTP verbs जो endpoint cross-origin accept करता है।
  • Access-Control-Allow-Headers — वे request headers जो server एक preflighted request पर accept करेगा।
  • Access-Control-Allow-Credentials — क्या cookies और authorization headers allowed हैं।
  • Access-Control-Max-Age — कितने seconds तक browser preflight result cache कर सकता है।
  • Access-Control-Expose-Headers — वे response headers जिन्हें आपका JavaScript पढ़ने की अनुमति रखता है।

आप request को GET, POST, PUT, DELETE, OPTIONS, या PATCH के रूप में भेज सकते हैं, कोई भी custom request headers key-value pairs के रूप में add कर सकते हैं, और POST, PUT, और PATCH के लिए एक JSON request body attach कर सकते हैं। Results तीन views में split होते हैं: एक plain-language CORS Analysis, complete Response Headers list (copyable), और Response Body।

Analysis पढ़ना

हर finding को good, warning, error, या informational label किया जाता है ताकि आप results जल्दी scan कर सकें:

  • एक missing Access-Control-Allow-Origin header को error flag किया जाता है — server पर कोई CORS configure नहीं, इसलिए browsers reads block करेंगे।
  • एक wildcard origin (*) को warning flag किया जाता है, क्योंकि यह किसी भी साइट को API call करने देता है। यह fully public डेटा के लिए ठीक है लेकिन sensitive चीज़ों के लिए risky।
  • Access-Control-Allow-Credentials: true का wildcard origin के साथ combination को error flag किया जाता है, क्योंकि specification इसे forbid करती है और browsers इसे outright reject करते हैं। Credentialed requests के लिए एक explicit origin चाहिए।
  • एक Max-Age value को minutes में translate किया जाता है ताकि आप देख सकें कि preflight responses कितने aggressively cache होते हैं।

CORS testing क्यों मायने रखता है

CORS एक browser security mechanism है: डिफ़ॉल्ट रूप से, एक origin पर JavaScript एक अलग origin (एक अलग scheme, domain, या port) से responses नहीं पढ़ सकता। "non-simple" requests के लिए — custom headers, JSON content types, या PUT और DELETE जैसे methods — browser पहले एक OPTIONS preflight भेजता है, और real request तभी आगे बढ़ती है जब server सही headers के साथ जवाब दे। जब वह handshake fail होती है, तो request इससे पहले block हो जाती है कि आपका code डेटा देखे, इसीलिए CORS errors इतने आम होते हैं जब एक single-page app को एक अलग API या third-party service से wire किया जाता है।

Endpoint सीधे test करना आपको बताता है कि problem server पर है (missing या misconfigured headers) या आपके fetch code में। जब कोई CORS headers detect नहीं होते, तो CORS Tester ready-to-paste configuration snippets भी दिखाता है Express.js और Node, Nginx, और Apache .htaccess के लिए, ताकि आप server पर origin और methods fix कर सकें और फिर से test कर सकें। एक endpoint ऊपर पेस्ट करें ताकि आप देख सकें कि यह कैसे respond करता है और इसकी cross-origin policy का एक स्पष्ट read पाएँ।