আইফ্রেম শংসাপত্রহীন: COEP পরিবেশে সহজেই iframes এম্বেড করুন

আর্থার সোনজোগনি
Arthur Sonzogni

COEP ব্যবহারকারী বিকাশকারীরা এখন তৃতীয় পক্ষের আইফ্রেমগুলি এম্বেড করতে পারে যা COEP নিজে ব্যবহার করে না।

Chrome সংস্করণ 110 থেকে ডিফল্টরূপে iframe শংসাপত্রহীন সক্রিয় করা হয়েছে৷ এটি ক্রস-অরিজিন-এমবেডার-পলিসি (COEP) এর সাথে কাজ করা সবচেয়ে সাধারণ অভিযোগ ডেভেলপারদের সমাধান করে: তৃতীয় পক্ষের আইফ্রেমগুলি এম্বেড করা যা COEP সেট করে না৷

কেন আমরা COEP প্রয়োজন

কিছু ওয়েব এপিআই পার্শ্ব-চ্যানেল আক্রমণের ঝুঁকি বাড়ায় যেমন Specter । সেই ঝুঁকি কমানোর জন্য, ব্রাউজারগুলি ক্রস-অরিজিন আইসোলেশন নামে একটি অপ্ট-ইন-ভিত্তিক বিচ্ছিন্ন পরিবেশ অফার করে, যার জন্য COEP স্থাপন করা প্রয়োজন। ক্রস-অরিজিন আইসোলেশন ওয়েবসাইটগুলিকে SharedArrayBuffer , performance.measureUserAgentSpecificMemory() , এবং আরও ভাল রেজোলিউশন সহ উচ্চ-নির্ভুল টাইমার সহ বিশেষ সুবিধাপ্রাপ্ত বৈশিষ্ট্যগুলি ব্যবহার করার অনুমতি দেয়৷

ক্রস-অরিজিন আইসোলেশন সক্ষম করতে, ওয়েবসাইটগুলিকে অবশ্যই নিম্নলিখিত HTTP হেডার পাঠাতে হবে:

Cross-Origin-Embedder-Policy: require-corp
Cross-Origin-Opener-Policy: same-origin

COEP:credentialless এছাড়াও require-corp বিকল্প হিসাবে ব্যবহার করা যেতে পারে। আরও বিস্তারিত জানার জন্য ডকুমেন্টেশন দেখুন।

COEP সক্ষম করার সাথে চ্যালেঞ্জ

যদিও ক্রস-অরিজিন আইসোলেশন ওয়েবপৃষ্ঠাগুলিকে আরও ভাল নিরাপত্তা এবং শক্তিশালী বৈশিষ্ট্যগুলি সক্ষম করার ক্ষমতা নিয়ে আসে, COEP স্থাপন করা কঠিন হতে পারে৷ সবচেয়ে বড় চ্যালেঞ্জগুলির মধ্যে একটি হল যে সমস্ত ক্রস-অরিজিন iframes অবশ্যই COEP এবং CORP স্থাপন করবে৷ এই শিরোনাম ছাড়া iframes ব্রাউজার দ্বারা লোড করা হবে না.

উদ্ধারের জন্য শংসাপত্রহীন iframe

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

উদাহরণ:

<iframe credentialless src="https://example.com">

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

শংসাপত্রবিহীন iframes COEP এম্বেডিং নিয়মের অধীন নয়। তারা এখনও নিরাপদ: কারণ তারা প্রতিবার একটি নতুন খালি প্রসঙ্গ থেকে লোড হয়, তাদের ব্যক্তিগতকৃত ডেটা থাকা উচিত নয়, যা আক্রমণকারীরা পরে। যদি একটি iframe শুধুমাত্র পাবলিক ডেটা ধারণ করে, তাহলে এটি আক্রমণকারীর কাছে মূল্যবান নয়।

ডেমো

আপনি একটি শংসাপত্রবিহীন iframe এর একটি ডেমো পরীক্ষা করতে পারেন৷

FAQ

এই বৈশিষ্ট্য অন্যান্য ব্রাউজার দ্বারা গৃহীত হবে?

একটি <iframe> একটি <iframe credentialless> credentialless ভিতরে নেস্ট করা হয়?

হ্যাঁ। এটি উত্তরাধিকারসূত্রে প্রাপ্ত। একবার একটি iframe শংসাপত্রবিহীন হলে, এটি সম্পূর্ণ সাবট্রির সমস্ত আইফ্রেমের ক্ষেত্রে প্রযোজ্য হয় এমনকি একটি credentialless বৈশিষ্ট্য ছাড়াই।

<iframe credentialless> থেকে পপ-আপগুলিও কি শংসাপত্রবিহীন?

পপ-আপগুলি খোলা হয় যেন noopener সেট করা হয়েছে। এগুলি একটি নতুন নিয়মিত শীর্ষ-স্তরের প্রেক্ষাপটে তৈরি করা হয়েছে এবং প্রমাণপত্রহীন নয়৷ তারা শংসাপত্রবিহীন আইফ্রেমের সাথে যোগাযোগ করতে পারে না।

প্রমাণহীন আইফ্রেমে নথিটি এমবেড করা হয়েছে তা কীভাবে সনাক্ত করবেন?

window.credentialless একটি শংসাপত্রবিহীন আইফ্রেমের ভিতরে সত্য এবং অন্যথায় মিথ্যা। এটির মান একটি ওয়েব ব্রাউজারে undefined যা <iframe credentialless> সমর্থন করে না।

সম্পদ