এই ব্লগটি Cross-Origin Resource Sharing (CORS) নিয়ে বিশদ আলোচনা করে, যা ওয়েব সিকিউরিটির একটি অপরিহার্য অংশ। CORS কী, ওয়েব অ্যাপ্লিকেশনের জন্য এর গুরুত্ব, ইতিহাস এবং প্রযুক্তিগত বিবর্তন নিয়ে বিস্তারিত ব্যাখ্যা, কনফিগারেশন সহজ নির্দেশিকা, CORS এর সাধারণ ভুল ও সমাধান, উন্নত কমন স্ট্র্যাটেজি—সবই এই গাইডে পাবেন। এছাড়া, CORS নিয়ে প্রচলিত ভুলধারণাকে পরিষ্কার করা হয়েছে এবং ওয়েব ডেভেলপারদের জন্য একটি কম্প্রিহেনসিভ রেফারেন্স হিসেবে তৈরি করা হয়েছে।
CORS কী এবং ওয়েব অ্যাপ্লিকেশনের জন্য কেন গুরুত্বপূর্ণ
Cross-Origin Resource Sharing (CORS) হলো এমন একটি সিস্টেম যা ওয়েব ব্রাউজারকে বিভিন্ন ডোমেইনের রিসোর্স নেওয়া কিংবা প্রতিরোধ করার সুযোগ দেয়। মূলত, কোনো ওয়েব অ্যাপ্লিকেশন নিজের ডোমেনের বাইরের API, ফন্ট, ইমেজ—এসব রিসোর্সে অ্যাক্সেস করার নিয়ন্ত্রণ দেয়। CORS নির্ভরযোগ্যতার দিক দিয়ে ওয়েব সিকিউরিটির অন্যতম ভিত্তি এবং ডেটা সুরক্ষার জন্য অপরিহার্য।
বিশেষ করে single-page অ্যাপ (SPA) ও microservices ভিত্তিক ডিজাইনিংয়ে এর গুরুত্ব অপরিসীম। এই ধরনের অ্যাপে API ও মিডিয়া ফাইল ভিন্ন ডোমেইনে থাকে এবং CORS ছাড়া নিরাপদ ডেটা ভাগাভাগি করা অসম্ভব। CORS যদি না থাকতো, তবে JavaScript ব্যবহার করে যেকোনো সাইট অপর সাইটের ইউজার ডেটা চুরি বা পরিবর্তন করতে পারতো।
- CORS-এর মূল সুবিধা
- বিভিন্ন ডোমেইন থেকে নিরাপদ ডেটা এক্সচেঞ্জের অনুমতি দেয়।
- ম্যালিসিয়াস ওয়েবসাইট ইউজার ডেটা চুরি করতে পারে না।
- API ও অন্যান্য ওয়েব সার্ভিস নিরাপদ থাকে।
- SPA ও microservice-এ মাল্টি-ডোমেইন অন্তর্ভুক্তি সহজ হয়।
- ব্রাউজার কম্প্যাটিবিলিটি সমস্যা কমায়।
- কোন ডোমেন কোথা থেকে অ্যাক্সেস হবে তা ডেভেলপার নির্ধারণ করতে পারে।
SOP (Same-Origin Policy) CORS-এর পাশাপাশি বসে ওয়েব অ্যাপ্লিকেশনের ডেটা সুরক্ষা দেয়। SOP অনুযায়ী, শুধুমাত্র একই ডোমেন, প্রোটোকল ও পোর্টের রিসোর্স ব্যবহার করতে পারে। CORS সেটা খুলে দেয়—কিছু নির্দিষ্ট শর্তে অন্য ডোমেইনের রিসোর্সে অ্যাক্সেস দেয়, ফলে ফ্লেক্সিবিলিটি ও নিরাপত্তা দুটোই বজায় থাকে।
তবে CORS সঠিক কনফিগারেশন না হলে নিরাপত্তা দুর্বল হতে পারে। ভুল পলিসি অ্যাপ্লিকেশনকে বিভিন্ন বিঘ্ন ও নিরাপত্তাজনিত ঝুঁকিতে ফেলবে। তাই একজন ডেভেলপারকে CORS ভালোভাবে বুঝতে হবে এবং সেটিং নিশ্চিতভাবে ঠিক রাখতে হবে।
CORS-এর ইতিহাস ও বিবর্তন
Cross-Origin Resource Sharing (CORS)–এখন ওয়েব অ্যাপের অপরিহার্য অংশ; তবে এর সূচনা ও অগ্রগতি বুঝলে গুরুত্বটা আরও স্পষ্ট হয়। প্রথমদিকে ব্রাউজারের SOP (Same-Origin Policy) অনেক সীমাবদ্ধ করতো, ফলে আধুনিক ওয়েব অ্যাপের ক্ষেত্রে মাল্টি-ডোমেইন API থেকে ডেটা নেওয়া বাধা পড়তো। CORS সেই সমস্যা কাটিয়ে উঠতে তৈরি হয়।
CORS-বিকাশের সূচনা হয় ডেভেলপারদের সমস্যার কারণে—ভিন্ন ডোমেইনের ডেটা বা API ব্যবহার করতে চাওয়াতে। তাই World Wide Web Consortium (W3C) স্ট্যান্ডার্ড তৈরি করেছে, কিভাবে ব্রাউজার-সার্ভার ইন্টারঅ্যাকশন হবে, যাতে নিরাপত্তা বজায় থাকে এবং ফ্লেক্সিবিলিটি বাড়ে।
| বছর | অগ্রগতি | বর্ণনা |
|---|---|---|
| ২০০০ দশকের শুরু | প্রথম চাহিদা | বিভিন্ন ডোমেইনে ডেটা নেওয়া প্রয়োজন বোঝা যায়। |
| ২০০৪ | প্রাথমিক সমাধান | JSONP-এর মতো সাময়িক সমাধান আসে—তবে নিরাপত্তা দুর্বল ছিল। |
| ২০০৯ | W3C কাজ শুরু | CORS-এর স্ট্যান্ডার্ড তৈরির কাজ শুরু হয়। |
| ২০১০+ | বিস্তৃত ব্যবহার | ম্যাজর ব্রাউজার CORS সাপোর্ট করে; ব্যাপক ব্যবহৃত হয়। |
CORS-এর বিবর্তন, নিরাপত্তা ও ফাংশনালিটির ভারসাম্য রেখে অগ্রসর হয়েছে। শুরুতে সহজ ব্যবহার ছিল, পরে জটিল ব্যবহারের জন্য যেমন preflight request এর মতো আরও ফিচার যুক্ত হয়েছে। এগুলোর ফলে CORS আজকের ওয়েবের জন্য অত্যন্ত গুরুত্বপূর্ণ আধুনিক টেকনোলজি হয়েছে।
CORS-বিকাশের ধাপসমূহ
- Same-Origin Policy-এর সীমাবদ্ধতা
- JSONP এর মতো নিরাপত্তাহীন প্রাথমিক সমাধান
- W3C স্ট্যান্ডার্ড তৈরির উদ্যোগ
- Preflight request চালু
- বিস্তৃত ব্রাউজার সাপোর্ট ও বাস্তবায়ন
আজ CORS ছাড়া আধুনিক Web API এক্সচেঞ্জ কল্পনাই করা যায় না। তবে, ভুল কনফিগারেশন হলে মারাত্মক নিরাপত্তা দুর্বলতা সৃষ্টি করতে পারে। তাই প্রতিটা ডেভেলপারকে CORS-এর ওপরে ঠাসাঠাসি ধারণা থাকতে হবে।
CORS কেন ব্যবহার করবেন? মূল সুবিধা
Cross-Origin Resource Sharing (CORS) ছাড়া আধুনিক ওয়েব অ্যাপ্লিকেশন নিরাপদ ও কার্যকর করা যায় না। একই-origin সীমাবদ্ধতা দূর করে মাল্টি-ডোমেইন থেকে নিরাপদ ডেটা আদানপ্রদান সম্ভব করে।
CORS-এর বড় সুবিধা হলো, Same-Origin Policy অপশনাল করে, API-র নিরাপদ এক্সচেঞ্জ সহজ করে। ডেভেলপারদের জন্য কন্ট্রোল, ফ্লেক্সিবিলিটি এবং স্কেলেবিলিটি বাড়িয়ে তোলে।
- CORS-এর সুবিধাসমূহ
- বহু ডোমেইনের API-এর নিরাপদ এক্সচেঞ্জ স্বপ্নের মতো সহজ।
- অ্যাপ্লিকেশনকে মডুলার ও স্কেলেবিল রাখে।
- ডেভেলপারের কন্ট্রোল বাড়ায়, ব্যবহারে স্বাধীনতা দেয়।
- ইউজার এক্সপেরিয়েন্স উন্নত হয়।
- নিরাপত্তার জায়গা শক্তিশালী হয়।
নিচের টেবিলে দেখুন—CORS-এর ফিচার ও বেনিফিট:
| ফিচার | বর্ণনা | সুবিধা |
|---|---|---|
| কর্ণারস-origin রিকোয়েস্ট | মাল্টিপল ডোমেইনের HTTP রিকোয়েস্ট | ডেটা শেয়ারিং ও সার্ভিস ইন্টিগ্রেশন সহজ |
| Preflight | OPTIONS মেথডে CORS পলিসি চেকিং | নিরাপদ ডেটা ট্রান্সফার, ঝুঁকি কমায় |
| Allowed Origins | কোন ডোমেইন CORS পাস করবে | কন্ট্রোলড ও সিকিউর অ্যাক্সেস নিশ্চিত |
| Credential Support | কুকি বা অথরাইজেশন হেডার শেয়ারিং | ইউজার-অভিজ্ঞতা ও সেশন সাপোর্ট |
CORS কনফিগারেশন ভুল হলে ডাটার নিরাপত্তা, API-এর স্কিল — সব খারাপ হয়ে যেতে পারে। নিরাপদ কনফিগারেশন অবশ্যই নিশ্চিত করতে হবে।
CORS কনফিগারেশন সহজ নির্দেশিকা
Cross-Origin Resource Sharing (CORS) কনফিগারেশন অত্যন্ত গুরুত্বপূর্ণ। সঠিকভাবে কনফিগার করলে অ্যাপ্লিকেশন সুরক্ষিত থাকে ও মাল্টি-ডোমেইন ডেটা এক্সচেঞ্জ মসৃণ হয়।
শুরুতে, কোন রিসোর্স কোথায় লাগে, কোন ডোমেইন/মেথড অনুমতি পাবে—এসব ঠিক করা জরুরি।
- CORS কনফিগারেশনের ধাপগুলি
- প্রয়োজনীয়তা জানুন: কি রিসোর্স লাগবে?
- সার্ভার সাইডে HTTP হেডার অ্যাড করুন।
- Origin হেডার ঠিক করুন: কোন ডোমেইন অনুমোদিত?
- HTTP Method নির্ধারণ: (GET, POST, PUT ইত্যাদি)
- Credentials অপশন: কুকি/অথরাইজেশন অনুমতি দিন/দিন না।
- Error Management: CORS issue সঠিকভাবে ধরুন।
HTTP হেডার সেট করা সবচেয়ে গুরুত্বপূর্ণ। Access-Control-Allow-Origin নির্ধারণ করে কে অ্যাক্সেস করবে, Access-Control-Allow-Methods কু এক্সচেঞ্জ হবে, Access-Control-Allow-Headers নির্দিষ্ট হেডার কোনটা যাবে।
| HTTP হেডার | বর্ণনা | উদাহরণ মান |
|---|---|---|
| Access-Control-Allow-Origin | অনুমোদিত ডোমেইন | https://example.com |
| Access-Control-Allow-Methods | অনুমোদিত HTTP মেথড | GET, POST, PUT |
| Access-Control-Allow-Headers | অনুমোদিত হেডার | Content-Type, Authorization |
| Access-Control-Allow-Credentials | কুকি/ক্রেডেনশিয়াল অনুমতি | true |
কনফিগারেশন ভুল হলে ব্রাউজারে CORS error দেখাবে। ব্রাউজার কনসোলে দেখুন ও সার্ভার কনফিগারেশন ঠিক করুন। সিকিউরিটি আপডেট রাখুন!
Cross-Origin Resource: টেকনিক্যাল ডিটেইল
Cross-Origin Resource Sharing (CORS) মূলত ব্রাউজারের মধ্য দিয়ে এক ডোমেইন থেকে অন্য ডোমেইনের রিসোর্স নেওয়ার সুবিধা দেয়। অর্থাৎ, প্রোটোকল (http/https), ডোমেইন (example.com), পোর্ট—যার একটিতে পার্থক্য হলে CORS দরকার। SOP বেইজ নিরাপত্তা এখানেই নিয়ন্ত্রণ করে।
| সেনারিও | রিকোয়েস্ট Origin | Target Origin | CORS দরকার? |
|---|---|---|---|
| একই ডোমেইন | http://example.com | http://example.com/api | না |
| ভিন্ন পোর্ট | http://example.com:8080 | http://example.com:3000/api | হ্যাঁ |
| ভিন্ন প্রোটোকল | http://example.com | https://example.com/api | হ্যাঁ |
| ভিন্ন ডোমেইন | http://example.com | http://api.example.com/api | হ্যাঁ |
CORS প্রধানত Access-Control-Allow-Origin দিয়ে নিয়ন্ত্রণ হয়। একাধিক origin, নির্দিষ্ট origin বা wildcard (*)—সবটাই সম্ভব। তবে wildcard যতটা সহজ ততটাই ঝুঁকিপূর্ণ।
- Cross-Origin Resource ফিচার
- Access-Control-Allow-Origin: এক্সেস অনুমতি ডোমেইন নির্ধারণ করে
- Access-Control-Allow-Methods: HTTP মেথড ঠিক করে
- Access-Control-Allow-Headers: কোন হেডার অনুমতি পাবে
- Access-Control-Expose-Headers: ক্লায়েন্ট কোন হেডার দেখতে পারবে
- Access-Control-Allow-Credentials: কুকি বা অথরাইজেশন যাবে কিনা
CORS request দুই ধরনের—simple request এবং preflight request। Simple Request-এ GET, HEAD, POST এবং নির্দিষ্ট হেডার ব্যবহার হয়; Preflight request-এ OPTIONS দিয়ে আগে সার্ভার চেক করে রাইট পলিসি আছে কিনা।
CORS ও সিকিউরিটি
CORS মূলত নিরাপত্তার জন্য, কিন্তু ভুল কনফিগারেশন হলে রীতিমতো নিরাপত্তা দুর্বল। উদাহরণ, Access-Control-Allow-Origin এ wildcard (*) দিলে হ্যাকার সব পাবে। তাই only trusted origin রাখুন।
ক্রেডেনশিয়াল (credentials) সাপোর্টও সতর্কতায় দিতে হবে; Access-Control-Allow-Credentials true হলে XSS আরও শক্তিশালী হবে, সতর্ক থাকুন।
CORS ও পারফর্মেন্স
Preflight request প্রতিটি cross-origin রিকোয়েস্টের জন্য আলাদা HTTP request পাঠায়; এর ফলে পারফর্মেন্স কমে যাবে। Optimized CORS ব্যবহার, caching—এসব পারফর্মেন্স বাড়াতে সাহায্য করে। ক্লায়েন্ট ও সার্ভার সাইডে টেস্ট ও মনিটরিং করুন।
CORS ত্রুটি ও সমাধান

Cross-Origin Resource Sharing (CORS) জনিত error ওয়েব ডেভেলপমেন্টে বহুল প্রচলিত। সাধারণত ডোমেইন mismatch বা ভুল কনফিগারেশন হলে আসে।
| ত্রুটি | বর্ণনা | সমাধান |
|---|---|---|
| No 'Access-Control-Allow-Origin' header is present on the requested resource. | সার্ভার CORS header সাপোর্ট করছে না। | সার্ভারে Access-Control-Allow-Origin যোগ করুন। |
| 'Access-Control-Allow-Origin' header contains the invalid value 'null'. | হেডারে null মান ভুল। | সঠিক ডোমেইন বা * এড করুন। |
| Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource. | SOP cross-origin রিসোর্স ব্লক করেছে। | CORS কনফিগারেশন ট্যুন করুন। |
| CORS preflight channel did not succeed. | Preflight request ব্যর্থ। | OPTIONS request এ সকল CORS header দিন। |
- ত্রুটি ও সমাধান গাইড
- Access-Control-Allow-Origin সেট করুন।
- Preflight (OPTIONS) সঠিকভাবে হ্যান্ডেল করুন।
- Proxy server ব্যবহার করুন (advanced ক্ষেত্রে)।
- JSONP ব্যবহার করুন (শুধুমাত্র GET জন্য, অসম্পূর্ণ নিরাপত্তা)।
- ব্রাউজার error বার্তা মনিটর করুন।
- CORS ডায়াগনস্টিক টুল/এক্সটেনশন ব্যবহার করুন।
সমাধান বেশি সময় সার্ভার সাইডে, তবে client-side workaround ব্যবহার করা যায়। সবসময় Better Practice: সার্ভারে সঠিক CORS header ঢোকান; wildcard (*) ব্যবহার এড়িয়ে চলুন unless absolutely required।
CORS এর সিকিউরিটি বাড়ানোর স্ট্র্যাটেজি
সঠিক কনফিগারেশন ছাড়া CORS হলেও সিকিউরিটি পূর্ণ হয় না। কিছু স্ট্র্যাটেজি অনুসরণ করলে unauthorized access ঠেকানো যায়:
- সিকিউরিটি স্ট্র্যাটেজি গাইড
- Wildcard (*) ব্যবহার না করে নির্দিষ্ট trusted origin ব্যবহার করুন।
- Preflight (OPTIONS) request সতর্কতার সাথে হ্যান্ডেল করুন।
- Allow-Headers নির্দিষ্ট করুন শুধু true প্রয়োজনীয় headers।
- Credential (কুকি) support তে অতিরিক্ত নিরাপত্তা ব্যবস্থা নিন।
- Error monitoring ও auditing চালু করুন।
- নিয়মিত CORS পলিসি audit করুন।
| Header | বর্ণনা | উদাহরণ মান |
|---|---|---|
| Access-Control-Allow-Origin | Trusted origin নির্ধারণ | https://example.com |
| Access-Control-Allow-Methods | HTTP method কন্ট্রোল | GET, POST, PUT, DELETE |
| Access-Control-Allow-Headers | Allowable headers | Content-Type, Authorization |
| Access-Control-Allow-Credentials | ক্রম Credentials | true |
CORS security auditing নিয়মিত করুন। নতুন vulnerability আসলে policy আপডেট করুন। তৃতীয় পক্ষ অ্যাপের policy-ও ভালো করে চেক করুন।
CORS পলিসি ও উদাহরণ
CORS Policy—ব্রাউজারের জন্য security mechanism—trusted origin ছাড়া rest সবকিছু ব্লক করে। HTTP Header নির্দিষ্ট করে কনফিগারেশন সেট করা হয়। ব্রাউজার Header দেখে access অনুমোদন বা বিরোধিতা করে। client side JavaScript কোনো পরিবর্তন করতে পারে না।
| HTTP Header | বর্ণনা | উদাহরণ মান |
|---|---|---|
| Access-Control-Allow-Origin | অনুমোদিত ডোমেইন | https://example.com |
| Access-Control-Allow-Methods | HTTP method | GET, POST, PUT |
| Access-Control-Allow-Headers | Allowable headers | X-Custom-Header, Content-Type |
| Access-Control-Allow-Credentials | Credentials (কুকি) | true |
CORS পলিসি ভুলে Access-Control-Allow-Origin: * ব্যবহার হলে security risk বাড়ে। Security experts policy নিয়মিত review ও test করার পরামর্শ দেন।
বিভিন্ন ব্রাউজার CORS
সব ব্রাউজার মূলত CORS standard মেনে চলে। HTTP Header দেখে ট্রাস্টেড কিনা যাচাই করে। ভুল হলে error রিটার্ন করে।
- Server side header ঠিকভাবে দিন।
- Preflight request সঠিকভাবে হ্যান্ডেল করুন।
- Credential কনফিগারেশন সঠিক রাখুন।
- Debugging tool ব্যবহার করুন।
- Security scan/pen-test চালান।
- Best practice অনুসরণ করুন।
CORS সঠিক হলে নিরাপত্তা অনেক বেড়ে যায়। তবে ভুল কনফিগারেশন করলে ঝুঁকি বেশি। তাই বুঝে সেটিং দিন।
CORS ছাড়া আধুনিক ওয়েব নিরাপদ রাখা কষ্টকর। সঠিক policy unauthorized access কাটায়, ইউজার ডেটা নিরাপদ রাখে।
CORS নিয়ে প্রচলিত ভুলধারণা
ওয়েব ডেভেলপাররা অনেক সময় CORS নিয়ে ভুল ধারণা করেন—মনে করেন এটা firewall বা সর্বাঙ্গীণ security solution। আসলে, CORS শুধুই client-side browser-নির্ভর policy, full protection নয়।
- তথ্য ও ভুলধারণা
- ভুল: CORS সব ধরনের cross-origin attack থেকে বাঁচায়। সত্য: এটি browser-managed—server policy দিয়ে cross-origin access নিয়ন্ত্রণ করে, সব নিরাপত্তা সমস্যা সমাধানে নয়।
- ভুল: CORS disable করলে নিরাপত্তা বাড়ে। সত্য: বরং XSS বাড়বে, vulnerability বাড়বে।
- ভুল: CORS শুধু GET-এ কাজ করে। সত্য: POST, PUT, DELETE এমনকি আরও অনেক method-এ CORSই নিয়ন্ত্রণ করে।
- ভুল: CORS error মানে server problem। সত্য: client বা server দুইদিক থেকে ভুল হতে পারে।
- ভুল: একই domain-এ CORS useless। সত্য: protocol, domain বা port different হলে CORS প্রবলেম আসবেই।
| সেনারিও | বর্ণনা | CORS Header প্রয়োজন |
|---|---|---|
| Simple Request | GET বা HEAD cross-origin থেকে | Access-Control-Allow-Origin: * বা নির্দিষ্ট কারা |
| Preflight Request | PUT, DELETE ইত্যাদি ও custom header | Access-Control-Allow-Origin: *, Access-Control-Allow-Methods: PUT, DELETE, Access-Control-Allow-Headers: Content-Type |
| Credential সহ Request | Cookie বা Auth header | Access-Control-Allow-Origin: নির্দিষ্ট, Access-Control-Allow-Credentials: true |
| Wildcard Allow | সব domain অনুমোদন | Access-Control-Allow-Origin: * (security risk!) |
CORS security layer; কিন্তু সম্পূর্ণ সমাধান নয়। সঠিকভাবে বুঝে ও ব্যবহার করুন, অন্য security measure (SRI, Content Security Policy ইত্যাদি) টানুন।
CORS সম্পর্কে গুরুত্বপূর্ণ তথ্য
Cross-Origin Resource Sharing (CORS) ওয়েব অ্যাপ্লিকেশনের নিরাপত্তা রক্ষার টেকনোলজি। SOP বাতিল না করেও প্ৰয়োজনীয় নিউয়তায় ডোমেইন খুলে দেয়।
Access-Control-Allow-Origin হল গুরুত্বপূর্ণ header—trusted domain বা wildcard *—তবে sensitive data-তে * এড়িয়ে চলতে হবে।
| Header | বর্ণনা | উদাহরণ মান |
|---|---|---|
| Access-Control-Allow-Origin | Origin whitelist | https://example.com, * |
| Access-Control-Allow-Methods | HTTP method | GET, POST, PUT |
| Access-Control-Allow-Headers | Allowable headers | Content-Type, Authorization |
| Access-Control-Expose-Headers | Client-visible header | X-Custom-Header |
- CORS ব্যবহার করার সময় মনোযোগ দিন
- Access-Control-Allow-Origin নির্দিষ্টভাবে দিন।
- Sensitive data এ wildcard ব্যবহার না করুন।
- Method whitelist করুন।
- Header whitelist করুন।
- Preflight request (OPTIONS) সঠিকভাবে হ্যান্ডেল করুন।
- Error message দেখে root cause বের করুন।
- CORS proxy ব্যবহার করুন (জরুরি ক্ষেত্রে)।
CORS শুধু security নয়, ফাংশনালিটিও বাড়ায়। নিরাপদ ও সঠিক কনফিগারেশন করলে মাল্টি-ডোমেইন API বা resources নিয়ে advanced ইন্টারেক্টিভ experience তৈরি করা যায়।
সচরাচর জিজ্ঞাসা
CORS ওয়েব নিরাপত্তায় এত গুরুত্বপূর্ণ কেন?
CORS মাল্টি-ডোমেইন (domain, protocol, port) ডেটা access নিয়ন্ত্রণ করে, দূষিত ওয়েবসাইট থেকে ইউজার ডেটা চুরি আটকায়—privacy ও integrity বজায় রাখে।
CORS কীভাবে তৈরি হয়? কোন চাহিদা থেকে?
API-centric অ্যাপ্লিকেশন বেড়ে যেতে Same-Origin Policy restrictive হওয়াতে CORS তৈরি হয়। W3C স্ট্যান্ডার্ড করেছে, ব্রাউজার endorse করেছে।
CORS ছাড়া কোন বিকল্প আছে?
JSONP (কেবল GET) বা Proxy ব্যবহার করা যায়—তবে সিকিউরিটি দুর্বল। CORS GET, POST, PUT, DELETE—সব method support করে এবং granular server-side control দেয়।
CORS কনফিগারেশন কি ভাবে করা যায়?
Access-Control-Allow-Origin server-side কনফিগার করা সবচেয়ে গুরুত্বপূর্ণ। Wildcard * শুধু অপরিহার্য হলে ব্যবহার করুন, specific origin best practice।
Preflight request (OPTIONS) কী?
OPTIONS দিয়ে client server কে জিজ্ঞাসা করে—main request করার অনুমতি আছে কিনা। এই পর্যায়ে proper CORS header দিলে access granted হয়।
CORS error সবচেয়ে বেশি কেন আসে?
রেফারেন্স header না থাকা, domain mismatch, preflight failure—এসব। সমাধানে server-side header, origin list ঠিক রাখুন।
CORS security বাড়ানোর advanced স্ট্র্যাটেজি কী?
Credentials carefully দিন, expose-headers minimize করুন, Origin validate server-side, SRI (Subresource Integrity) জয়েন্ট করুন।
CORS সম্পর্কে ডেভেলপারদের ভুলধারণা কোনগুলো?
Wild card ব্যবহার সবসময় নিরাপদ নয়, credentials-requiring request-এ wildcard চলে না; নির্দিষ্ট origin ও credential management নিশ্চিত করুন।