CORS কী এবং কেন প্রয়োজন?

Microsoft Technologies - ডট নেট কোর (Dot.Net Core) Cross-Origin Resource Sharing (CORS) |
193
193

CORS (Cross-Origin Resource Sharing) হল একটি নিরাপত্তা প্রোটোকল যা ওয়েব ব্রাউজারগুলোকে নির্দিষ্ট নিয়মের মাধ্যমে একে অপরের ডোমেইন থেকে রিসোর্স শেয়ার করতে অনুমতি দেয়। এটি মূলত ওয়েব অ্যাপ্লিকেশন এবং API এর মধ্যে ক্রস-অরিজিন অনুরোধ (cross-origin requests) পরিচালনা করতে ব্যবহৃত হয়। একটি "অরিজিন" বলতে বোঝানো হয় একটি নির্দিষ্ট স্কিমা (যেমন HTTP/HTTPS), ডোমেইন, এবং পোর্টের সমন্বয়। যখন একটি ওয়েব অ্যাপ্লিকেশন বা ব্রাউজার অন্য একটি অরিজিন থেকে ডেটা বা রিসোর্স অ্যাক্সেস করতে চায়, তখন CORS নিশ্চিত করে যে শুধুমাত্র অনুমোদিত ডোমেইন বা অ্যাপ্লিকেশনগুলোই এই অনুরোধগুলো গ্রহণ করতে পারে।

যেমন, যদি আপনার একটি ওয়েব অ্যাপ্লিকেশন http://example.com থেকে অন্য একটি অ্যাপ্লিকেশন http://api.example.com এ GET, POST, PUT বা DELETE অনুরোধ পাঠাতে চায়, তবে CORS প্রোটোকল ব্যবহার করে আপনি নিশ্চিত করতে পারেন যে api.example.com ওই অনুরোধগুলো গ্রহণ করতে পারবে এবং তা নিরাপদভাবে প্রসেস করতে পারবে।


CORS এর প্রয়োজনীয়তা


  1. নিরাপত্তা রক্ষার জন্য
    ওয়েব ব্রাউজারের মধ্যে ক্রস-অরিজিন অনুরোধ ব্যবহারের জন্য CORS একটি নিরাপত্তা ব্যবস্থা হিসাবে কাজ করে। ওয়েব ব্রাউজারে একটি সাধারণ নিরাপত্তা নিয়ম রয়েছে, যেখানে একটি ওয়েব অ্যাপ্লিকেশন এক অরিজিন থেকে অন্য অরিজিনের রিসোর্সে অ্যাক্সেস করতে পারে না, এটি Same-Origin Policy (SOP) নামে পরিচিত। CORS এই নীতির মধ্যে একটি নিরাপদ উপায় প্রদান করে যেখানে ওয়েব অ্যাপ্লিকেশন যদি অন্য অরিজিনের রিসোর্স অ্যাক্সেস করতে চায়, তবে সেটি CORS হেডারগুলো যাচাই করে।
  2. ক্রস-অরিজিন অনুরোধে অনুমতি দেওয়া
    আধুনিক ওয়েব অ্যাপ্লিকেশনগুলো সাধারণত একাধিক সেবা বা API ব্যবহার করে। উদাহরণস্বরূপ, একটি ফ্রন্ট-এন্ড অ্যাপ্লিকেশন http://example.com যদি API সার্ভিস http://api.example.com থেকে ডেটা গ্রহণ করতে চায়, তাহলে CORS প্রোটোকল ব্যবহার করে API সার্ভিস নিশ্চিত করতে পারে যে ঐ অনুরোধটি বৈধ এবং নিরাপদ।
  3. API এর নিরাপত্তা নিশ্চিত করা
    যখন আপনি একটি API তৈরি করেন, আপনি চাইবেন না যে আপনার API যেকোনো সাইট বা ডোমেইন থেকে অনুরোধ গ্রহণ করুক। CORS হেডারের মাধ্যমে আপনি নির্দিষ্ট করতে পারেন কোন ডোমেইন বা অরিজিনগুলো আপনার API এর সাথে ইন্টারঅ্যাক্ট করতে পারবে এবং কোনগুলো পারবে না। এতে API এর নিরাপত্তা অনেক বেশি শক্তিশালী হয়।
  4. Cross-Domain রিকোয়েস্টের ক্ষেত্রে সুবিধা
    ওয়েব অ্যাপ্লিকেশনগুলো প্রায়ই বিভিন্ন ডোমেইন থেকে রিসোর্স গ্রহণ করে। উদাহরণস্বরূপ, একটি ওয়েবসাইটের ফ্রন্ট-এন্ড এবং ব্যাক-এন্ড আলাদা সার্ভারে থাকতে পারে, বা আপনার অ্যাপ্লিকেশনটি একটি থার্ড-পার্টি API ব্যবহার করতে পারে। CORS এমন ক্ষেত্রগুলিতে প্রয়োজনীয় অনুমতি দেয় যাতে এই ক্রস-অরিজিন রিকোয়েস্টগুলো সঠিকভাবে সম্পাদিত হয় এবং ডেটা বিনিময় সম্ভব হয়।

CORS কিভাবে কাজ করে?


CORS প্রধানত HTTP হেডার এর মাধ্যমে কাজ করে। যখন একটি ওয়েব অ্যাপ্লিকেশন বা ব্রাউজার একটি ক্রস-অরিজিন অনুরোধ পাঠায়, তখন সার্ভার তার রেসপন্সে কিছু নির্দিষ্ট CORS হেডার পাঠায়, যা ব্রাউজারকে নির্দেশ দেয় যে এই অনুরোধটি অনুমোদিত কিনা।

এখানে কিছু গুরুত্বপূর্ণ CORS হেডারের উদাহরণ:

  • Access-Control-Allow-Origin: এই হেডারটি বলছে কোন অরিজিন (ডোমেইন) থেকে অনুরোধ গ্রহণ করা যাবে। উদাহরণস্বরূপ, Access-Control-Allow-Origin: * মানে যে সব অরিজিনের অনুরোধ গ্রহণ করা যাবে, আর Access-Control-Allow-Origin: http://example.com মানে শুধুমাত্র http://example.com ডোমেইনের অনুরোধই গ্রহণ করা হবে।
  • Access-Control-Allow-Methods: এই হেডারটি নির্দিষ্ট করে দেয় যে কোন HTTP মেথডগুলোর জন্য ক্রস-অরিজিন অনুরোধ গ্রহণ করা যাবে। উদাহরণস্বরূপ, Access-Control-Allow-Methods: GET, POST, PUT
  • Access-Control-Allow-Headers: এই হেডারটি বলে যে কোন ধরনের কাস্টম হেডার সার্ভার গ্রহণ করতে পারে। উদাহরণস্বরূপ, Access-Control-Allow-Headers: Content-Type, Authorization
  • Access-Control-Allow-Credentials: যদি ওয়েব অ্যাপ্লিকেশনটি ক্রেডেনশিয়ালস (যেমন কুকি, HTTP অথেনটিকেশন টোকেন ইত্যাদি) পাঠাতে চায়, তবে এই হেডারটি প্রয়োজনীয় অনুমতি প্রদান করে।

CORS কনফিগারেশন


CORS কনফিগারেশন করার জন্য ASP.NET Core এ Startup.cs ফাইলের ConfigureServices মেথডে AddCors পদ্ধতি ব্যবহার করা হয়। এখানে একটি সাধারণ উদাহরণ দেয়া হলো:

public void ConfigureServices(IServiceCollection services)
{
    services.AddCors(options =>
    {
        options.AddPolicy("AllowSpecificOrigin",
            builder => builder.WithOrigins("http://example.com")
                              .AllowAnyMethod()
                              .AllowAnyHeader());
    });
}

এখানে AllowSpecificOrigin পলিসি কনফিগার করা হয়েছে, যা শুধুমাত্র http://example.com ডোমেইন থেকে অনুরোধ গ্রহণ করবে।

এটি এরপর Configure মেথডে ব্যবহার করা হয়:

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    app.UseCors("AllowSpecificOrigin");

    // অন্যান্য Middleware গুলো
}

এভাবে CORS কনফিগার করা হলে, নির্দিষ্ট ডোমেইন বা অরিজিন থেকে API এর ক্রস-অরিজিন অনুরোধগুলো অনুমোদিত হবে।


সারাংশ


CORS একটি নিরাপত্তা প্রোটোকল যা ওয়েব ব্রাউজারগুলোকে একটি ডোমেইন থেকে অন্য ডোমেইনের রিসোর্স অ্যাক্সেস করার অনুমতি দেয়। এটি মূলত ওয়েব অ্যাপ্লিকেশন এবং API এর মধ্যে ক্রস-অরিজিন অনুরোধ অনুমোদন করতে ব্যবহৃত হয়। CORS সার্ভারের মাধ্যমে HTTP হেডারের মাধ্যমে ক্রস-অরিজিন অনুরোধগুলো অনুমোদন বা বাতিল করা হয়, এবং এটি API বা সার্ভারের নিরাপত্তা রক্ষা করতে অত্যন্ত গুরুত্বপূর্ণ।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion