কর্স - প্রিফলাইট অনুরোধগুলি প্রবর্তনের পিছনে অনুপ্রেরণা কি?


366

ক্রস-অরিজিন রিসোর্স শেয়ারিং এমন একটি প্রক্রিয়া যা কোনও ওয়েবপৃষ্ঠাকে অন্য ডোমেনে ( উইকিপিডিয়া থেকে ) এক্সএমএলএইচটিপিআরকেষ্টগুলি তৈরি করতে দেয় ।

আমি গত কয়েক দু'দিন ধরে সিওআরএসের সাথে ফিড করছি এবং আমার মনে হয় সবকিছু কীভাবে কাজ করে তা সম্পর্কে আমার বেশ ভাল ধারণা আছে।

সুতরাং আমার প্রশ্নটি সিওআরএস / প্রিফলাইট কীভাবে কাজ করে তা নয়, এটি একটি নতুন অনুরোধের ধরণ হিসাবে প্রিফ্লাইটগুলি নিয়ে আসার পিছনে কারণ সম্পর্কে । সত্যিকারের অনুরোধ (আরআর) গৃহীত হবে কি না তা সন্ধানের জন্য সার্ভার এ-তে সার্ভার বি-তে একটি প্রিফ্লাইট (জনসংযোগ) প্রেরণ করার কোনও কারণ আমি দেখতে ব্যর্থ হই - অবশ্যই বি এর পক্ষে আরআর গ্রহণ / প্রত্যাখ্যান করা সম্ভব হবে কোনও পূর্বের PR

বেশ কিছুটা অনুসন্ধানের পরে আমি এই টুকরো তথ্যটি www.w3.org (7.1.5) এ পেয়েছি:

এই স্পেসিফিকেশনটির অস্তিত্বের আগে নির্দিষ্ট ব্যবহারকারী এজেন্টদের কাছ থেকে উত্পন্ন না হওয়া ক্রস-অরিজিন অনুরোধগুলির বিরুদ্ধে সংস্থানগুলি সুরক্ষিত করার জন্য একটি উত্সাহ অনুরোধ করা হয়েছে যাতে নিশ্চিত করা যায় যে উত্সটি এই স্পেসিফিকেশন সম্পর্কে সচেতন।

আমি মনে করি এটি বাক্যটি বোঝার পক্ষে সবচেয়ে কঠিন। আমার ব্যাখ্যা (আরও ভাল এটি 'সেরা অনুমান' বলা উচিত) এটি সার্ভার সি থেকে প্রাপ্ত অনুরোধগুলির বিরুদ্ধে সার্ভার বি রক্ষা করার বিষয়ে যা এই অনুমান সম্পর্কে অবগত নয়।

কেউ দয়া করে কোনও দৃশ্যের ব্যাখ্যা দিতে / এমন সমস্যা দেখাতে পারেন যে PR + RR একা আরআর থেকে ভাল সমাধান করে?

উত্তর:


323

প্রিফলাইট অনুরোধের উদ্দেশ্য হিসাবে আমি বিভ্রান্ত হয়ে কিছু সময় ব্যয় করেছি তবে আমি মনে করি এটি এখন পেয়েছি।

মূল অন্তর্দৃষ্টিটি হ'ল প্রিফলাইট অনুরোধগুলি কোনও সুরক্ষা বিষয় নয়। বরং এগুলি নিয়ম-নীতি-পরিবর্তনকারী জিনিস।

প্রিফলাইট অনুরোধগুলির সুরক্ষার সাথে কোনও সম্পর্ক নেই এবং সিওআরএস সম্পর্কে সচেতনতার সাথে এখন সেগুলি তৈরি করা অ্যাপ্লিকেশনগুলিতে কোনও ফল নেই। পরিবর্তে, প্রিফ্লাইট মেকানিজম সার্ভারগুলিকে সুবিধা দেয় যা সিওআরএস সম্পর্কে সচেতনতা ছাড়াই বিকাশিত হয়েছিল এবং এটি ক্লায়েন্ট এবং সার্ভারের মধ্যে স্যানিটি পরীক্ষা করার জন্য কাজ করে যে তারা উভয়ই সিআরএস-সচেতন। সিওআরএস-এর বিকাশকারীরা অনুভব করেছিলেন যে সেখানে যথেষ্ট সার্ভার রয়েছে যা তারা কখনও গ্রহণ করবে না এই ধারণার উপর নির্ভর করে যেমন, ক্রস-ডোমেন মোছার অনুরোধ করে যে তারা উভয় পক্ষকে অপ্ট-ইন করার অনুমতি দেওয়ার জন্য প্রিফলাইট প্রক্রিয়া আবিষ্কার করেছে ven তারা অনুভব করেছিল যে বিকল্পটি, যা কেবল ক্রস-ডোমেন কলগুলি সক্ষম করার জন্য বিদ্যমান প্রচুর অ্যাপ্লিকেশনগুলি ভেঙে ফেলত।

এখানে তিনটি পরিস্থিতি রয়েছে:

  1. পুরানো সার্ভারগুলি, আর বিকাশের অধীনে নেই এবং সিওআরএসের আগে বিকাশ লাভ করেছে। এই সার্ভারগুলি অনুমানগুলি তৈরি করতে পারে যে তারা কখনই পাবেন না যেমন ক্রস-ডোমেন মোছার অনুরোধ। এই দৃশ্যটি হ'ল প্রিফলাইট প্রক্রিয়াটির প্রাথমিক সুবিধাভোগী। হ্যাঁ এই পরিষেবাগুলি ইতিমধ্যে কোনও দূষিত বা অ-অনুসারীকারী ব্যবহারকারী এজেন্ট দ্বারা আপত্তিজনকভাবে ব্যবহার করা যেতে পারে (এবং সিওআরএস এটি পরিবর্তন করার জন্য কিছুই করে না), তবে সিওআরএসের বিশ্বে প্রিফলাইট প্রক্রিয়াটি একটি অতিরিক্ত 'স্যানিটি চেক' সরবরাহ করে যাতে ক্লায়েন্ট এবং সার্ভাররা এটি না করে বিরতি কারণ ওয়েবের অন্তর্নিহিত নিয়মগুলি পরিবর্তিত হয়েছে।

  2. যে সার্ভারগুলি এখনও বিকাশের অধীনে রয়েছে তবে এতে প্রচুর পুরানো কোড রয়েছে এবং যার জন্য এটি ক্রস-ডোমেন বিশ্বে সঠিকভাবে কাজ করে তা নিশ্চিত করার জন্য সমস্ত পুরানো কোডটি নিরীক্ষণ করা বাঞ্চনীয় / কাম্য নয়। এই দৃশ্যটি সার্ভারগুলিকে ক্রমবর্ধমানভাবে সিওআরএস-এ অপ্ট-ইন করার অনুমতি দেয়, উদাহরণস্বরূপ "এখন আমি এই নির্দিষ্ট শিরোনামকে অনুমতি দেব", "এখন আমি এই নির্দিষ্ট এইচটিটিপি ক্রিয়াটি অনুমতি দেব", "এখন আমি কুকিজ / লেখার তথ্যকে অনুমতি দেব প্রেরণ ", ইত্যাদি প্রিফ্লাইট প্রক্রিয়া থেকে এই দৃশ্য উপকার করে।

  3. নতুন সার্ভারগুলি যা CORS সম্পর্কে সচেতনতার সাথে লেখা। মানক সুরক্ষা অনুশীলন অনুসারে, কোনও আগত অনুরোধের মুখে সার্ভারকে তার সংস্থানগুলি রক্ষা করতে হবে - সার্ভারগুলি ক্লায়েন্টদের দূষিত কাজ না করার জন্য বিশ্বাস করতে পারে না। এই দৃশ্যটি প্রিফ্লাইট মেকানিজম থেকে উপকৃত হয় না : প্রিফলাইট প্রক্রিয়াটি কোনও সার্ভারের কোনও অতিরিক্ত সুরক্ষা আনেনি যা তার সংস্থানগুলি যথাযথভাবে সুরক্ষিত করেছে।


12
যদি তা হয় তবে প্রতিটি অনুরোধে কেন পাঠানো হয়? সার্ভারের প্রতি একটি অনুরোধ সার্ভারের CORS সম্পর্কে সচেতন কিনা তা নির্ধারণ করার জন্য পর্যাপ্ত হওয়া উচিত।
ডগলাস ফার্গুসন

3
বৈশিষ্টটিতে ব্রাউজারে একটি প্রিফলাইট-ফলাফল-ক্যাশে অন্তর্ভুক্ত রয়েছে । সুতরাং, যদিও এটি এখনও কলুষিত এবং অকার্যকর সুরক্ষা বোধ করে, প্রিফলাইট অনির্দিষ্টকালের জন্য ক্যাশে রাখতে নতুন সার্ভারগুলি কনফিগার করা সম্ভব বলে মনে হয়।
মাইকেল কোল

7
আমি সম্মত হই যে প্রিফলাইট অনুরোধগুলি সুরক্ষার সাথে সহজাতভাবে সম্পর্কিত নয় তবে সুরসের কারণে সিআরএসের প্রাকফ্লাইট অনুরোধগুলি অবশ্যই ব্যবহারের মতো বলে মনে হচ্ছে। তুলনামূলকভাবে ক্ষতিকারক ত্রুটির পরিস্থিতি রোধ করার জন্য এটি কেবলমাত্র অসম্পূর্ণতার চেয়ে বেশি পরীক্ষা। যদি ব্যবহারকারী এজেন্ট অন্ধভাবে সার্ভারে অনুরোধটি প্রেরণ করে, ভুয়াভাবে সার্ভারটি প্রয়োগ করা CORS ধরে নেয় তবে এটি সম্ভবত ক্রস সাইট অনুরোধ জালিয়াতি গ্রহণ করবে। প্রতিক্রিয়া জাভাস্ক্রিপ্ট দ্বারা পঠনযোগ্য না হলেও, সার্ভার ইতিমধ্যে কোনও অ্যাকাউন্ট মুছতে বা ব্যাংক স্থানান্তর করার মতো কিছু অনাকাঙ্ক্ষিত পদক্ষেপ গ্রহণ করেছে।
আলেকজান্ডার টেলর

5
সমস্যাটি হ'ল প্রিফলাইট-ফলাফল-ক্যাশে মূলত অকেজো কারণ এটি ১. এটি কেবলমাত্র সম্পূর্ণ অনুরোধের ক্ষেত্রেই প্রযোজ্য, পুরো ডোমেনের জন্য নয়, সুতরাং সমস্ত অনুরোধ যেভাবেই হোক প্রথমবারের মতো প্রিফলাইটে চলেছে; এবং ২ হিসাবে প্রয়োগ করা হয়েছে, এটি বেশিরভাগ ব্রাউজারে 10 মিনিটের মধ্যে সীমাবদ্ধ থাকে, তাই অনির্দিষ্টকালের জন্যও কাছে নয়।
ডেভিডগোলি

2
@ ভিকাসবাংসাল বিদ্যমান সার্ভারটিকে "অপ্ট-ইন" করতে হবে এবং তারা কীভাবে প্রিফ্লাইট বিকল্পের অনুরোধের জবাব দেয় তা কনফিগার করে উত্স জুড়ে তাদের সংস্থানগুলি ভাগ করতে সম্মত হয়। যদি তারা প্রিফলাইট অনুরোধটির স্পষ্টভাবে উত্তর না দেয় তবে ব্রাউজারটি আসল অনুরোধটি প্রকাশ করবে না। সমস্ত সার্ভারগুলি সর্বোপরি ক্রস-অরিজিন অনুরোধগুলি বিনোদন করতে চাইবে না।
কেভিন লি

215

প্রিফলাইট অনুরোধগুলি প্রবর্তনের পিছনে অনুপ্রেরণা কি ছিল?

প্রিফলাইট অনুরোধগুলি প্রবর্তিত হয়েছিল যাতে কোনও ব্রাউজার নিশ্চিত হতে পারে যে এটি নির্দিষ্ট অনুরোধগুলি প্রেরণের আগে এটি কোনও সিওআরএস-সচেতন সার্ভারের সাথে কাজ করছে। এই অনুরোধগুলি এমন দুটি হিসাবে সংজ্ঞায়িত করা হয়েছিল যেগুলি উভয়ই সম্ভাব্য বিপজ্জনক (রাষ্ট্র-পরিবর্তনকারী) এবং নতুন ( একই উত্স নীতিমালার কারণে সিওআরএসের আগে সম্ভব নয় ) ছিল। প্রিফলাইট অনুরোধগুলি ব্যবহার করার অর্থ সার্ভারগুলির অবশ্যই নতুন, সম্ভাব্য বিপজ্জনক প্রকারের অনুরোধটি সিওআরএস সম্ভাব্য করে তুলবে opt

স্পেসিফিকেশনের এই অংশটির এটিই অর্থ : "ক্রস-অরিজিন অনুরোধগুলির বিরুদ্ধে যে এই স্পেসিফিকেশনটির অস্তিত্ব ছিল না তার আগে নির্দিষ্ট ব্যবহারকারী এজেন্টদের কাছ থেকে উত্স তৈরি হতে পারে না এমন সংস্থান থেকে এই সুরক্ষাটি এই স্পেসিফিকেশন সম্পর্কে সচেতন কিনা তা নিশ্চিত করার জন্য একটি প্রিফলাইট অনুরোধ করা হয়েছে।"

তুমি কি আমাকে একটা উদাহরণ দিতে পারবে?

আসুন কল্পনা করুন যে কোনও ব্রাউজার ব্যবহারকারী তাদের ব্যাংকিং সাইটে লগ ইন করেছেন A.com। যখন তারা দূষিতদের নেভিগেট করে B.com, তখন সেই পৃষ্ঠাটিতে কিছু জাভাস্ক্রিপ্ট অন্তর্ভুক্ত থাকে যা একটি DELETEঅনুরোধ প্রেরণ করার চেষ্টা করে A.com/account। যেহেতু ব্যবহারকারী লগ ইন করেছেন A.com, সেই অনুরোধটি যদি প্রেরণ করা হয় তবে এতে কুকিজ অন্তর্ভুক্ত থাকবে যা ব্যবহারকারীকে সনাক্ত করে।

সিওআরএসের আগে ব্রাউজারের একই উত্স নীতিটি এই অনুরোধটি প্রেরণ করা থেকে এটিকে অবরুদ্ধ করে দিত। কিন্তু যেহেতু সিওআরএসের উদ্দেশ্য কেবল এই ধরণের ক্রস-আদি যোগাযোগকে সম্ভব করে তোলা, এটি আর উপযুক্ত নয়।

ব্রাউজারটি কেবল প্রেরণ করতে পারেDELETE এবং সার্ভারটিকে কীভাবে এটি পরিচালনা করতে হয় তা সিদ্ধান্ত নিতে দেয়। কিন্তু যদি A.comসিওআরএস প্রোটোকল সম্পর্কে সচেতন না হয় তবে কী হবে ? এটি এগিয়ে যেতে পারে এবং বিপজ্জনক কার্যকর করতে পারে DELETE। এটি ধরেই নেওয়া যেতে পারে - ব্রাউজারের একই উত্স নীতিমালার কারণে - এটি কখনও অনুরোধটি গ্রহণ করতে পারে নি, এবং এই জাতীয় আক্রমণটির বিরুদ্ধে এটি কখনও কঠোর হতে পারে না।

এই জাতীয় নন-সিআরএস-সচেতন সার্ভারগুলি সুরক্ষিত করার জন্য, প্রোটোকলের জন্য প্রথমে ব্রাউজারটির একটি প্রিফলাইট অনুরোধ প্রেরণ করা প্রয়োজন । এই নতুন ধরণের অনুরোধটি এমন কিছু যা কেবল CORS- সচেতন সার্ভারগুলি যথাযথভাবে প্রতিক্রিয়া জানাতে পারে, এটি ব্রাউজারটিকে আসল পাঠানো নিরাপদ কিনা তা জানার অনুমতি দেয় DELETE

ব্রাউজারটি সম্পর্কে কেন এই সমস্ত গোলমাল, আক্রমণকারী কেবল DELETEনিজের কম্পিউটার থেকে একটি অনুরোধ পাঠাতে পারে না ?

অবশ্যই, তবে এই জাতীয় অনুরোধে ব্যবহারকারীর কুকিজ অন্তর্ভুক্ত থাকবে না। এই আক্রমণটি প্রতিরোধ করার জন্য ডিজাইন করা হয়েছে এমন আক্রমণটির উপর নির্ভর করে যে ব্রাউজারটি অনুরোধের সাথে অন্যান্য ডোমেনের জন্য কুকিজ (বিশেষত, ব্যবহারকারীর জন্য প্রমাণীকরণের তথ্য) প্রেরণ করবে।

চাই যে শব্দসমূহ ক্রস সাইট অনুরোধ জালিয়াতি , যেখানে সাইটে একটি ফর্ম B.comকরতে POSTকরতে A.comব্যবহারকারীর কুকি ও ক্ষতি না।

সেটা ঠিক. এটি রাখার আরেকটি উপায় হ'ল প্রিফলাইট অনুরোধগুলি তৈরি করা হয়েছিল যাতে নন-সিওআরএস-সচেতন সার্ভারগুলির জন্য সিএসআরএফ আক্রমণ আক্রমণ বৃদ্ধি না করে।

কিন্তু এ খুঁজছেন প্রয়োজনীয়তা "সরল" অনুরোধ preflights প্রয়োজন বোধ করেন না, আমি দেখতে POSTএখনো অনুমোদিত হয়। এটি রাষ্ট্রের পরিবর্তন করতে পারে এবং ঠিক একইভাবে ডেটা মুছতে পারে DELETE!

সেটা সত্য! সিওআরএস আপনার সাইটকে সিএসআরএফ আক্রমণ থেকে রক্ষা করে না। তারপরে আবার সিওআরএস ছাড়া আপনিও সিএসআরএফ আক্রমণ থেকে সুরক্ষিত নন। প্রিফলাইট অনুরোধগুলির উদ্দেশ্যটি কেবল আপনার সিএসআরএফ এক্সপোজারকে প্রাক-সিওআরএস জগতে ইতিমধ্যে বিদ্যমান সীমাবদ্ধ করা।

দীর্ঘশ্বাস. ঠিক আছে, আমি প্রফ্লাইট অনুরোধগুলির প্রয়োজনীয়তার জন্য কৃপণভাবে গ্রহন করি। তবে সার্ভারে থাকা প্রতিটি সংস্থান (URL) এর জন্য কেন আমাদের এটি করতে হবে? সার্ভার হয় হয় CORS পরিচালনা করে না হয় না।

আপনি কি এ ব্যাপারে নিশ্চিত? একক ডোমেনের জন্য অনুরোধগুলি পরিচালনা করার জন্য একাধিক সার্ভারের পক্ষে এটি অস্বাভাবিক নয়। উদাহরণস্বরূপ, এটি এমন এক ক্ষেত্রে হতে পারে যা অনুরোধগুলি A.com/url1এক ধরণের সার্ভার দ্বারা পরিচালিত হয় এবং অনুরোধগুলি A.com/url2অন্য ধরণের সার্ভার দ্বারা পরিচালিত হয়। এটি সাধারণত এমন হয় না যে কোনও একক সংস্থান পরিচালিত সার্ভার সেই ডোমেনের সমস্ত সংস্থান সম্পর্কে সুরক্ষা গ্যারান্টি দিতে পারে।

ফাইন। আপোষ করি। আসুন একটি নতুন সিওআরএস শিরোলেখ তৈরি করুন যা সার্ভারকে ঠিক কোন সংস্থানগুলির জন্য কথা বলতে পারে তা ঠিক করার অনুমতি দেয়, যাতে সেই ইউআরএলগুলিতে অতিরিক্ত প্রিফলাইট অনুরোধগুলি এড়ানো যায়।

ভাল ধারণা! আসলে, শিরোনামটি Access-Control-Policy-Pathকেবল এই উদ্দেশ্যে প্রস্তাব করা হয়েছিল। শেষ পর্যন্ত, যদিও এটি স্পেসিফিকেশনটির বাইরে চলে গেল, স্পষ্টতই কিছু সার্ভারগুলি ভুলভাবে ইউআরআই স্পেসিফিকেশনটি এমনভাবে প্রয়োগ করেছিল যাতে ব্রাউজারের কাছে নিরাপদ বলে মনে হওয়া পাথগুলিতে অনুরোধ করা আসলে ভাঙা সার্ভারগুলিতে নিরাপদ না হত।

এটি কি একটি বুদ্ধিমান সিদ্ধান্ত যা কার্যক্ষমতার চেয়ে সুরক্ষাকে অগ্রাধিকার দিয়েছিল, ব্রাউজারগুলি তত্ক্ষণাত্ বিদ্যমান সার্ভারগুলিকে ঝুঁকিতে না ফেলেই সিওআরএস স্পেসিফিকেশন বাস্তবায়ন করতে দেয়? অথবা কেবলমাত্র নির্দিষ্ট সময়ে একটি নির্দিষ্ট সার্ভারে বাগগুলি সংযুক্ত করার জন্য ব্যান্ড ব্যান্ডউইথ এবং দ্বিগুণ দ্বিগুণতার জন্য ইন্টারনেট ডুমকে সংক্ষিপ্ত করা হয়েছিল?

মতামত পৃথক।

ভাল, খুব কমপক্ষে ব্রাউজারগুলি একটি একক URL- এর জন্য প্রিফলাইটটি ক্যাশে করবে?

হ্যাঁ. যদিও সম্ভবত খুব দীর্ঘ জন্য না। ওয়েবকিট ব্রাউজারগুলিতে সর্বাধিক প্রিফলাইট ক্যাশে সময় বর্তমানে 10 মিনিট

দীর্ঘশ্বাস. ঠিক আছে, যদি আমি জানি যে আমার সার্ভারগুলি কর্স-সচেতন, এবং অতএব প্রিফলাইট অনুরোধগুলির দ্বারা প্রদত্ত সুরক্ষাটির প্রয়োজন নেই, তবে সেগুলি এড়াতে কি আমার কোনও উপায় আছে?

আপনার "আসল " অনুরোধগুলির প্রয়োজনীয়তা পূরণ করেছেন তা নিশ্চিত করা আপনার একমাত্র আসল বিকল্প । এর অর্থ হতে পারে কাস্টম শিরোনামগুলি বাদ দেওয়া যা আপনি অন্যথায় অন্তর্ভুক্ত করবেন (যেমন X-Requested-With), মিথ্যা কথা বলা Content-Type, বা আরও অনেক কিছু।

আপনি যা-ই করুন না কেন, আপনাকে অবশ্যই নিশ্চিত করতে হবে যে আপনার জায়গায় যথাযথ সিএসআরএফ সুরক্ষা রয়েছে কারণ সিওআরএস স্পেসিফিকেশন অনিরাপদ সহ "সাধারণ" অনুরোধগুলি প্রত্যাখ্যান করে না POSTযেমন স্পেসিফিকেশনটিতে বলা হয়েছে : "যে সংস্থানগুলির জন্য সহজ অনুরোধগুলির পুনরুদ্ধার ব্যতীত অন্য গুরুত্ব রয়েছে তাদের অবশ্যই ক্রস-সাইট অনুরোধ জালিয়াতি থেকে তাদের রক্ষা করতে হবে"।


20
আমি সিআরএস-এ পড়েছি এটি সেরা সূচনা পর্ব। ধন্যবাদ!
kiv

4
দুর্দান্তভাবে ব্যাখ্যা করা হয়েছে।
Pratz

4
আমি এই বিষয়টিতে সেরা উত্তরটি দেখেছি। খুব ভালভাবে ব্যাখ্যা!
আলাবৌদি

3
সিওআরএস একটি কৌতুকপূর্ণ উপাদান, এবং এই পোস্টটি কিছু গোপন পয়েন্টগুলিতে আলোকপাত করেছে
স্ট্যানিস্লাভ ভার্জিকভস্কিই

1
@ ইয়োস: ব্রাউজারটিতে সেই কুকিজ অন্তর্ভুক্ত থাকবে কারণ ব্রাউজারগুলি কীভাবে কাজ করবে এমনটাই প্রত্যাশা করা হয় ( আরএফসি 6265 এর মতো মানগুলিতে কোড করা হিসাবে )। কোনও ব্রাউজার ট্যাবগুলির জন্য পৃথক প্রক্রিয়া ব্যবহার করে বা না তা প্রয়োগের বিশদ, এটি কুকিজ প্রেরণ থেকে বিরত রাখবে না।
কেভিন ক্রিস্টোফার হেনরি

51

সিওআরএসের আগে ক্রস-ডোমেন অনুরোধগুলির জগত বিবেচনা করুন। আপনি একটি স্ট্যান্ডার্ড ফর্ম POST করতে পারেন, বা একটি GET অনুরোধ জারি করতে একটি scriptবা একটি imageট্যাগ ব্যবহার করতে পারেন । আপনি জিইটি / পোষ্ট ব্যতীত অন্য কোনও অনুরোধের ধরণ তৈরি করতে পারেননি এবং আপনি এই অনুরোধগুলিতে কোনও কাস্টম শিরোনাম জারি করতে পারেন না।

সিওআরএসের আবির্ভাবের সাথে, বিশিষ্ট লেখকরা ওয়েবের বিদ্যমান শব্দার্থবিজ্ঞান ভঙ্গ না করে একটি নতুন ক্রস-ডোমেন প্রক্রিয়া প্রবর্তনের চ্যালেঞ্জের মুখোমুখি হয়েছিল। তারা সার্ভারগুলিকে কোনও নতুন অনুরোধের ধরণের অপ্ট-ইন করার উপায় প্রদান করে এটি করা বেছে নিয়েছিল। এই অপ্ট-ইনটি প্রিফ্লাইট অনুরোধ।

সুতরাং কোনও কাস্টম শিরোনাম ছাড়াই GET / POST অনুরোধগুলির প্রিফলাইটের প্রয়োজন নেই, কারণ এই অনুরোধগুলি CORS এর আগে ইতিমধ্যে সম্ভব ছিল। কিন্তু কাস্টম হেডার, অথবা PUT / মুছুন অনুরোধ সঙ্গে কোনো অনুরোধ, না একটি preflight প্রয়োজন, যেহেতু এই CORS বৈশিষ্ট নতুন। সার্ভার যদি CORS সম্পর্কে কিছুই জানে না, তবে এটি কোনও সিওআরএস-নির্দিষ্ট শিরোনাম ছাড়াই জবাব দেবে এবং আসল অনুরোধ করা হবে না।

প্রিফলাইট অনুরোধ ব্যতীত সার্ভারগুলি ব্রাউজারগুলির থেকে অপ্রত্যাশিত অনুরোধগুলি দেখতে শুরু করতে পারে। সার্ভারগুলি এই ধরণের অনুরোধগুলির জন্য প্রস্তুত না করা হলে এটি কোনও সুরক্ষা সমস্যার দিকে নিয়ে যেতে পারে। সিওআরএস প্রিফলাইটটি ক্রস-ডোমেন অনুরোধগুলিকে ওয়েবে নিরাপদে উপস্থাপনের অনুমতি দেয়।


আপনি কীভাবে স্ক্রিপ্ট / আইএমজি ট্যাগের মাধ্যমে একটি পোষ্ট অনুরোধ করবেন?
13:33

2
আপনি পারবেন না। আমি বোঝাতে চাইছিলাম আপনি হয় ফর্ম পোস্ট করতে পারেন, অথবা স্ক্রিপ্ট / আইএমজি ব্যবহার করে একটি জিইটি করতে পারেন। আশা করি এটি স্পষ্ট করার জন্য আমি পোস্টটি সম্পাদনা করেছি।
দৈত্য মুরুর

আমি দেখি. এটা বোধগম্য.
freakish

5
উত্তরের জন্য ধন্যবাদ, এটি অবশ্যই আমার ছবিটি সম্পূর্ণ করেছে! দুর্ভাগ্যক্রমে আমি প্রিফ্লাইটের পিছনে কেন্দ্রীয় পয়েন্টটি দেখতে ব্যর্থ। আপনার উত্তর সম্পর্কে: একটি ' অপ্রত্যাশিত অনুরোধ ' কী হবে ? প্রিফ্লাইট ওয়ার্ল্ডের তুলনায় এটি কীভাবে কোনও 'আরও' অপ্রত্যাশিত / কম নিরাপদ হবে (উদাহরণস্বরূপ হারিয়ে যাওয়া প্রিফলাইট বা কোনও দূষিত ব্রাউজার যা প্রিফ্লাইটিং সম্পর্কে কেবল 'ভুলে যায়)?
জান

7
সম্ভবত সেখানে এমন এপিআই রয়েছে যা তাদের সংস্থানগুলি রক্ষার জন্য ব্রাউজারের একই-উত্স নীতিতে নির্ভর করে। তাদের অতিরিক্ত সুরক্ষা থাকা উচিত, তবে তারা পরিবর্তে একই-উত্স নীতিতে নির্ভর করে। প্রিফলাইট ব্যতীত, অন্য কোনও ডোমেনের ব্যবহারকারী এখন এপিআই-তে একটি অনুরোধ জানাতে পারে। এপিআই অনুরোধটি বৈধ বলে ধরে নিবে (যেহেতু এটি সিওআরএস কিছুই জানে না) এবং অনুরোধটি কার্যকর করে। ব্রাউজারটি ব্যবহারকারীর কাছে পৌঁছানো থেকে প্রতিক্রিয়াটিকে আটকাতে পারে, তবে এই মুহুর্তে, ক্ষতিটি ইতিমধ্যে হয়ে যেতে পারে। অনুরোধটি যদি একটি পুট / মুছে ফেলা হয় তবে সংস্থানটি আপডেট বা মুছে ফেলা হতে পারে।
মনসুর

37

সিওআরএস আপনাকে ক্রস-অরিজিন <img src>বা এর সাথে পূর্বে সম্ভবের চেয়ে আরও বেশি শিরোনাম এবং পদ্ধতির ধরণ নির্দিষ্ট করতে দেয় <form action>

কিছু সার্ভারগুলি (খারাপভাবে) এই ধারণাটি দিয়ে সুরক্ষিত করা যেতে পারে যে ব্রাউজারটি তৈরি করতে পারে না, যেমন শিরোনাম DELETEসহ ক্রস-অরিজিন অনুরোধ বা ক্রস-অরিজিন অনুরোধ X-Requested-With, সুতরাং এই জাতীয় অনুরোধগুলি "বিশ্বাসযোগ্য"।

এটি নিশ্চিত করার জন্য যে সার্ভারটি সত্যই-সত্যই সিওআরএসকে সমর্থন করে এবং এলোমেলো অনুরোধগুলির প্রতিক্রিয়া ঘটায় তা নয়, প্রিফলাইটটি কার্যকর করা হয়েছে।


12
এটি গ্রহণযোগ্য উত্তর হওয়া উচিত ছিল। এটি সবচেয়ে স্পষ্ট ও দৃষ্টিকোণ to সংক্ষেপে প্রিফলাইট অনুরোধগুলির একমাত্র পয়েন্ট হ'ল প্রাক-সিওআরএস ওয়েব স্ট্যান্ডার্ডগুলি পোস্ট-কোরস ওয়েব মানগুলির সাথে একীকরণ করা।
হেলিকপ্টারটি সিংহ 4

2
আমি এই উত্তরটি পছন্দ করি, তবে আমি অনুভব করি যে এটি সম্পূর্ণ কারণ হতে পারে না ... "বিশ্বাসের অনুমান" অবশ্যই কেবলমাত্র সেই সব ক্ষেত্রে প্রয়োগ করা উচিত যা কেবল ব্রাউজারই করতে পারে (বিশেষত ব্রাউজারের ব্যবহারকারীদের তথ্য তাদের ডোমেনে সীমাবদ্ধ রেখে পাঠানো - তা হ'ল কুকিজ)। যদি এটি অনুমানের অংশ না হয়, তবে ক্রস-অরিজিন ব্রাউজারের অনুরোধ যা করতে পারে তা ইতিমধ্যে তৃতীয় পক্ষের, ব্রাউজার-নন-এজেন্ট দ্বারা করা যেতে পারে, তাই না?
ফ্যাবিও বেলট্রামিনী

2
@ ফ্যাবিওবেলট্রমিনি ঠিক আছে, অ ব্রাউজারগুলি তাদের যা কিছু প্রেরণ করতে পারে। তবে ব্রাউজারগুলির মাধ্যমে আক্রমণগুলি বিশেষ কারণ আপনি অন্য ব্যক্তির ব্রাউজারগুলিকে তাদের নিজস্ব আইপি থেকে তাদের নিজের কুকিজ ইত্যাদি দিয়ে কাজ করতে পারেন
কর্নেল

আমি আসল সমস্যাটি দেখতে শুরু করি। মন্তব্য এবং জবাবের জন্য ধন্যবাদ @ ফ্যাবিওবেলট্রামিনী এবং ক্রোনেলের জবাব। প্রি-ফ্লাইট চেকটি যদি না থাকে তবে আক্রমণকারী তার সাইটে কিছু জাভাস্ক্রিপ্ট কোড রাখতে সক্ষম হবে তবে অন্য অনেক লোকের কম্পিউটার থেকে মৃত্যুদণ্ড কার্যকর করেছিল। অন্যান্য সমস্ত ক্লায়েন্টরা মোবাইল অ্যাপ্লিকেশন সহ অন্যদেরকে 'ভাড়া নেওয়া' একরকম কঠিন।
জিয়াও পেং - ZenUML.com

16

কোডটি ব্যবহার করে এটি দেখার আরও একটি উপায় এখানে রয়েছে:

<!-- hypothetical exploit on evil.com -->
<!-- Targeting banking-website.example.com, which authenticates with a cookie -->
<script>
jQuery.ajax({
  method: "POST",
  url: "https://banking-website.example.com",
  data: JSON.stringify({
    sendMoneyTo: "Dr Evil",
    amount: 1000000
  }),
  contentType: "application/json",
  dataType: "json"
});
</script>

প্রাক-কর্স, উপরের শোষণের প্রচেষ্টা ব্যর্থ হবে কারণ এটি একই-উত্স নীতি লঙ্ঘন করে। এইভাবে ডিজাইন করা একটি এপিআই এর এক্সএসআরএফ সুরক্ষা প্রয়োজন হয়নি, কারণ এটি ব্রাউজারের নেটিভ সুরক্ষা মডেল দ্বারা সুরক্ষিত ছিল। প্রাক-সিওআরএস ব্রাউজারের পক্ষে ক্রস-অরিজিন জেএসওন পোস্ট উত্পন্ন করা অসম্ভব ছিল।

এখন সিওআরএস দৃশ্যে আসে - প্রাক-ফ্লাইটের মাধ্যমে যদি সিওআরএস নির্বাচন করা প্রয়োজন না হত, হঠাৎ এই সাইটের নিজস্ব কোনও দোষ না দিয়ে এই বিশাল বিপদ হবে।

কিছু অনুরোধ কেন পূর্ব-উড়ানের বিষয়টি এড়িয়ে যাওয়ার অনুমতি দেয় তা ব্যাখ্যা করার জন্য, এই জবাবটি উত্তর দিয়েছিল:

একটি সাধারণ ক্রস-অরিজিন অনুরোধকে বর্তমানে সংযুক্ত ব্যবহারকারী এজেন্টদের দ্বারা উত্পন্ন করা যেতে পারে যা এই নির্দিষ্টকরণের সাথে মানায় না তাদের সাথে একত্রিত হিসাবে সংজ্ঞায়িত করা হয়েছে।

এটি আনুষঙ্গিকভাবে বলতে গেলে, জিইটি প্রাক-ফ্লাইটেড নয় কারণ এটি একটি "সাধারণ পদ্ধতি" is.১.৫ দ্বারা সংজ্ঞায়িত করা হয়েছে। (প্রাক বিমানটি এড়ানোর জন্য শিরোনামগুলি অবশ্যই "সাধারণ" হতে হবে)। এর সমর্থনযোগ্যতা হ'ল "সরল" ক্রস-অরিজিন GET অনুরোধটি ইতিমধ্যে উদাহরণস্বরূপ সম্পাদিত হতে পারে <script src="">(এটি JSONP কীভাবে কাজ করে)। যেহেতু কোনও srcবৈশিষ্ট্যযুক্ত কোনও উপাদান কোনও পূর্ব-বিমান ছাড়াই ক্রস-অরিজিন জিইটি ট্রিগার করতে পারে, তাই "সরল" এক্সএইচআরগুলিতে প্রাক-লড়াইয়ের জন্য কোনও সুরক্ষার সুবিধা হবে না।


1
@ মাইলসআরট: টেলনেট হুমকি মডেলের অংশ নয় যা প্রাকফ্লাইটগুলি প্রশমিত করার লক্ষ্যে রয়েছে। প্রিফলাইট ব্রাউজারগুলির সাথে প্রাসঙ্গিক যে 1) সঞ্চিত, "পরিবেশনকারী কর্তৃপক্ষ" (যেমন কুকিজ) এবং 2) উপর নির্ভর করে কোনও তৃতীয় পক্ষের (যেমন ক্রস-সাইট অনুরোধ জালিয়াতি) কর্তৃপক্ষ কর্তৃপক্ষের অপব্যবহারের দিকে চালিত হতে পারে। সাধারণীকরণ করা মডেলটি বিভ্রান্ত ডেপুটি সমস্যা হিসাবে পরিচিত ।
ডিলান ট্যাক

যদিও এটি পরিবেষ্টিত কর্তৃপক্ষের সমস্যা তবে আপনি সর্বদা এটি অপব্যবহার করতে পারেন।
মাইলস রাউট

13

আমি মনে করি যে অন্যান্য উত্তরগুলি প্রাক-লড়াইয়ের কারণে সুরক্ষা বাড়ায় সেদিকে মনোনিবেশ করছে না।

প্রেক্ষাপটে:

1) প্রাক ফ্লাইট সহ । কোনও আক্রমণকারী সাইট ডামি-ফর্মস ডট কম থেকে একটি অনুরোধ জাল করে যখন ব্যবহারকারীর সেফ-ব্যাংক ডটকম থেকে প্রমাণীকরণ করা হয়
যদি সার্ভারটি উত্সটির জন্য অনুসন্ধান না করে এবং কোনওরকম ত্রুটি থাকে তবে ব্রাউজারটি একটি পূর্ব-উড়ানের অনুরোধ প্রকাশ করবে, অপশন পদ্ধতি। সার্ভারটি সেই সিওআরএসগুলির কোনওটিই জানে না যে ব্রাউজারটি প্রতিক্রিয়া হিসাবে প্রত্যাশা করে যাতে ব্রাউজারটি অগ্রসর হয় না (কোনও ক্ষতি করতে পারে না)

2) প্রাক-বিমান ছাড়াই । একজন আক্রমণকারী অনুরোধটিকে উপরের মত একই দৃশ্যে ভুগছে, ব্রাউজারটি এখনই পোস্ট বা PUT অনুরোধটি জারি করবে, সার্ভার এটি গ্রহণ করে এবং এটি প্রক্রিয়া করতে পারে, এটি সম্ভবত কিছু ক্ষতি করতে পারে cause

যদি আক্রমণকারী সরাসরি কোনও অনুরোধ প্রেরণ করে তবে ক্রস অরিজিন, কিছু এলোমেলো হোস্ট থেকে সম্ভবত এটি সম্ভবত কোনও প্রমাণীকরণের সাথে একটি অনুরোধের কথা ভাবছে । এটি একটি জাল অনুরোধ, তবে এক্সএসআরএফ নয়। সুতরাং সার্ভারের শংসাপত্রগুলি পরীক্ষা করে ব্যর্থ হবে। সিওআরএস কোনও আক্রমণকারীকে রোধ করার চেষ্টা করে না যার কাছে অনুরোধ জারি করার শংসাপত্র রয়েছে, যদিও কোনও শ্বেতা তালিকা এই আক্রমণটির ভেক্টরকে হ্রাস করতে সহায়তা করতে পারে।

প্রাক ফ্লাইট পদ্ধতিটি ক্লায়েন্ট এবং সার্ভারগুলির মধ্যে সুরক্ষা এবং ধারাবাহিকতা যুক্ত করে। আমি জানি না যে প্রতিটি অনুরোধের জন্য এটি অতিরিক্ত হ্যান্ডশেকের পক্ষে মূল্যবান কি না যেহেতু ক্যাশে সেখানে শক্ত ব্যবহারযোগ্য y তবে এটি কীভাবে এটি কাজ করে।


সিএসআরএফ আক্রমণ সংক্রান্ত বিষয়ে সম্মত হন যা @ মাইকেল-আইলসের জবাবে উল্লিখিত "নতুন সার্ভার" এর বিরুদ্ধে এখনও সম্ভব।
ইয়েল ghEEz

এটি একটি দরকারী বিবরণ যা সম্ভবত অন্য কোথাও রেকর্ড করা উপযুক্ত হবে। সম্ভবত এটি এমডিএন পৃষ্ঠাগুলির একটিতে যুক্ত করার কথা বিবেচনা করুন?
sideshowbarker

তবে কেন সামগ্রীর ধরণের পাঠ্য / প্লেইন সহ পোষ্টের মতো কিছু অনুরোধগুলি প্রাক-বিমানের অনুরোধ করে না? আমার মাথায়, প্রতিটি 'লেখার' অনুরোধের (পোষ্ট, পুট, ডিলেট করুন) সুরক্ষা কোনও সমস্যা হলে এই প্রাক ফ্লাইটের অনুরোধ থাকা উচিত।
ইস্রায়েল ফনসেকা

পাঠ্য / সমতল সহ পোষ্ট একটি সাধারণ অনুরোধ হিসাবে বিবেচনা করা হয় - নোট করুন যে উত্সটি মেলে না তবে ব্রাউজারটি প্রতিক্রিয়া প্রদর্শন করবে না (সার্ভারটি সিওআরএসের জন্য কনফিগার না করা হলে এটি হবে)।
হিরাকো

আক্রমণকারী পক্ষেই, আকর্ষণীয় কিছু কাজ করা যেতে পারে যা সাধারণ অনুরোধগুলি সহ্য করা হয় এবং বেশিরভাগ ব্রাউজার দ্বারা প্রেরণ করা হয় explo যেমন এই
হিরাকো

3

অতিরিক্তভাবে, এইচটিটিপি অনুরোধ পদ্ধতির জন্য যা ব্যবহারকারীর ডেটাগুলিতে পার্শ্ব-প্রতিক্রিয়া সৃষ্টি করতে পারে (বিশেষত, জিইটি ব্যতীত এইচটিটিপি পদ্ধতিগুলির জন্য, বা নির্দিষ্ট মাইমাই টাইপের সাথে পোষ্ট ব্যবহারের জন্য), স্পেসিফিকেশন ম্যান্ডেটগুলি ব্রাউজারগুলি অনুরোধটিকে "প্রিফলাইট" করে

সূত্র


2

সার্ভারের স্থিতি পরিবর্তন করতে পারে এমন অনুরোধগুলির জন্য প্রাক-বিমানের অনুরোধগুলি প্রয়োজনীয়। এখানে 2 ধরণের অনুরোধ রয়েছে -

1) যে কলগুলি সার্ভারে রাষ্ট্র পরিবর্তন করতে পারে না (যেমন জিইটি) - ব্যবহারকারী অনুরোধের জন্য একটি প্রতিক্রিয়া পেতে পারে (যদি সার্ভার উত্সের জন্য পরীক্ষা করে না) তবে যদি অনুরোধকারী ডোমেনটি প্রতিক্রিয়া শিরোনামে যুক্ত না হয় অ্যাক্সেস-কন্ট্রোল- অরিজিন-এর অনুমতি দিন, ব্রাউজারটি ব্যবহারকারীকে ডেটা প্রদর্শন করে না, অর্থাৎ অনুরোধটি ব্রাউজার থেকে প্রেরণ করা হয়েছে তবে ব্যবহারকারী প্রতিক্রিয়াটি দেখতে / ব্যবহার করতে সক্ষম নয়।

2) যে কলগুলি সার্ভারে রাষ্ট্র পরিবর্তন করতে পারে (যেমন পোস্ট, মুছে ফেলুন) - যেহেতু 1), আমরা দেখতে পাচ্ছি যে ব্রাউজারটি অনুরোধটিকে অবরুদ্ধ করে না তবে প্রতিক্রিয়া জানায়, রাষ্ট্র পরিবর্তনকারী কলগুলি পূর্ববর্তী চেক ছাড়াই করার অনুমতি দেওয়া উচিত নয় । এই জাতীয় কলগুলি কোনও বিশ্বস্ত সার্ভারে পরিবর্তন করতে পারে যা কলগুলির উত্স (যা ক্রস সাইট রিকোয়েস্ট ফোরজি বলা হয়) পরীক্ষা করে না, যদিও ব্রাউজারের প্রতিক্রিয়া ব্যর্থতা হতে পারে। এই কারণে, আমাদের প্রাক-উড়ানের অনুরোধগুলির ধারণাটি রয়েছে যে কোনও রাষ্ট্র পরিবর্তনকারী কলগুলি সার্ভারে প্রেরণের আগে একটি অপশন কল করে।


1

পারফরম্যান্স সম্পর্কে প্রাক-আলোকিত অনুরোধগুলি না ? প্রাক-আলোকিত অনুরোধগুলির সাথে ক্লায়েন্ট দ্রুত জানতে পারে যে পুট পদ্ধতিতে JSON এ প্রচুর পরিমাণে ডেটা প্রেরণের আগে অপারেশনটির অনুমতি দেওয়া হয়েছে কিনা। অথবা তারের উপরে প্রমাণীকরণ শিরোনামে ভ্রমণের সংবেদনশীল ডেটা আগে।

কাস্টম শিরোলেখগুলি ছাড়াও PUT, মুছে ফেলা এবং অন্যান্য পদ্ধতিগুলির সত্যতা ডিফল্টরূপে অনুমোদিত নয় (তাদের "অ্যাক্সেস-নিয়ন্ত্রণ-অনুরোধ-পদ্ধতিগুলি এবং" অ্যাক্সেস-নিয়ন্ত্রণ-অনুরোধ-শিরোনাম "দিয়ে স্পষ্ট অনুমতি প্রয়োজন), এটি শোনায় কেবল একটি ডাবল-চেকের মতো, কারণ এই ক্রিয়াকলাপগুলি ব্যবহারকারীর ডেটাগুলিতে আরও জড়িত থাকতে পারে, পরিবর্তে অনুরোধ জানায়। সুতরাং, এটির মতো শোনাচ্ছে:

"আমি দেখেছি যে আপনি http: //foo.example থেকে ক্রস-সাইট অনুরোধগুলি মঞ্জুরি দিয়েছেন , তবে আপনি কী নিশ্চিত যে আপনি অনুরোধগুলি মুছে ফেলতে পারবেন? আপনি কি এই ডেটা অনুরোধগুলি ব্যবহারকারীর ডেটাতে প্রভাব ফেলতে পারেন?"

প্রিফ্লাইটেড অনুরোধ এবং পুরানো সার্ভারগুলির সুবিধার মধ্যে উদ্ধৃত পারস্পরিক সম্পর্ক বুঝতে পারি না। এমন একটি ওয়েব সার্ভিস যা সিওআরএসের আগে প্রয়োগ করা হয়েছিল, বা কোনও সিওআরএস সচেতনতা ছাড়াই কোনও ক্রস-সাইট অনুরোধ পাবেন না, কারণ প্রথমে তাদের প্রতিক্রিয়ায় "অ্যাক্সেস-নিয়ন্ত্রণ-অনুমতি দিন" মূল শিরোনাম থাকবে না।


4
আপনি অ্যাক্সেস-নিয়ন্ত্রণ-মঞ্জুরি-উত্সকে ভুল বুঝছেন। এই শিরোলেখের অনুপস্থিতি ব্রাউজারটিকে অনুরোধগুলি প্রেরণে বাধা দেয় না, এটি জেএসকে কেবল প্রতিক্রিয়াতে ডেটা পড়তে সক্ষম হতে বাধা দেয়।
ডিলান ট্যাক

আপনি এই ব্যাখ্যা করতে পারেন যে 'সেই শিরোলেখের অনুপস্থিতি ব্রাউজারটিকে অনুরোধগুলি প্রেরণ করা থেকে বিরত রাখে না, এটি জেএসকে কেবল প্রতিক্রিয়াতে ডেটা পড়তে সক্ষম হতে বাধা দেয়', আমি এটি পুরোপুরি পেতে চাই না।
সিদ্ধার্থভাগওয়ান

@ ডিলানট্যাক ভাল পয়েন্ট যদিও এটি আমাকে বিস্মিত করে তোলে, কেন একটি জিইটি এক্সএইচআর পাশাপাশি প্রিফলাইট হচ্ছে না? যদিও অসম্ভব, জিইটি অনুরোধগুলি ক্ষতিকারক / ডেটা-রূপান্তরকারীও হতে পারে। এছাড়াও, যেহেতু এই সমস্তটি সিএসআরএফের সাথে সমাধান করা যেতে পারে তাই এটি আমার কাছে মনে হয় যেমন ব্রাউজারটি সার্ভারগুলির থেকে বেশি সুরক্ষিত হয় যা সাধারণ সুরক্ষা পদ্ধতিগুলি প্রয়োগ করতে খুব অবহেলা করে।
পেলেগ

গৃহীত উত্তরটি এটি একটি "পরিবর্তিত নয়-নিয়মগুলির জিনিস" হিসাবে (সিওআরএসের অস্তিত্বের আগে তৈরি ওয়েব সাইটগুলির সাথে পিছনের দিকের সামঞ্জস্য) হিসাবে ভাল ব্যাখ্যা করেছে। তবুও কোডটি দেখতে আকর্ষণীয়, সুতরাং আমি একটি কোড উদাহরণ সহ অন্য উত্তর পোস্ট করেছি।
ডিলান ট্যাক

1

সিওআরএস সমর্থনকারী ব্রাউজারে, অনুরোধগুলি পড়ার অনুরোধগুলি (জিইটি এর মতো) ইতিমধ্যে একই-উত্স নীতি দ্বারা সুরক্ষিত রয়েছে: একটি দূষিত ওয়েবসাইট সত্যায়িত ক্রস-ডোমেন অনুরোধ করার চেষ্টা করছে (উদাহরণস্বরূপ ভুক্তভোগীর ইন্টারনেট ব্যাংকিং ওয়েবসাইট বা রাউটারের কনফিগারেশন ইন্টারফেসের জন্য নয়) ফেরত ডেটা পড়তে সক্ষম হবেন কারণ ব্যাংক বা রাউটার Access-Control-Allow-Originহেডার সেট করে না ।

যাইহোক, অনুরোধ লিখনের সাথে (পোষ্টের মতো) অনুরোধটি ওয়েবসার্ভারে পৌঁছানোর পরে ক্ষতি হয়ে যায় * Originঅনুরোধটি বৈধ কিনা তা নির্ধারণ করার জন্য কোনও ওয়েবসভার শিরোনামটি পরীক্ষা করতে পারে তবে এই চেকটি প্রায়শই প্রয়োগ করা হয় না কারণ ওয়েবসভারটির কোনও প্রয়োজন নেই either সিওআরএস বা ওয়েবসভারের জন্য সিওআরএসের চেয়ে বয়স্ক এবং অতএব ধরে নিচ্ছেন যে সম-উত্স নীতি দ্বারা ক্রস-ডোমেন POSTs সম্পূর্ণ নিষিদ্ধ।

এজন্য ওয়েবসার্সগুলিকে ক্রস-ডোমেন লেখার অনুরোধগুলি গ্রহণ করতে অনির্বাচন করার সুযোগ দেওয়া হয় ।

* মূলত সিএসআরএফ এর এজেএক্স সংস্করণ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.