COEP ব্যবহারকারী বিকাশকারীরা এখন তৃতীয় পক্ষের আইফ্রেমগুলি এম্বেড করতে পারে যা COEP নিজে ব্যবহার করে না।
কেন আমরা COEP প্রয়োজন
কিছু ওয়েব এপিআই পার্শ্ব-চ্যানেল আক্রমণের ঝুঁকি বাড়ায় যেমন Specter । সেই ঝুঁকি কমানোর জন্য, ব্রাউজারগুলি ক্রস-অরিজিন আইসোলেশন নামে একটি অপ্ট-ইন-ভিত্তিক বিচ্ছিন্ন পরিবেশ অফার করে, যা অন্যান্য জিনিসগুলির মধ্যে, COEP স্থাপনের প্রয়োজন। এটি ওয়েবসাইটগুলিকে SharedArrayBuffer
, performance.measureUserAgentSpecificMemory()
, এবং আরও ভাল রেজোলিউশন সহ উচ্চ-নির্ভুল টাইমার সহ সুবিধাপ্রাপ্ত বৈশিষ্ট্যগুলি ব্যবহার করার অনুমতি দেয়৷
ক্রস-অরিজিন আইসোলেশন সক্ষম করতে, ওয়েবসাইটগুলিকে অবশ্যই নিম্নলিখিত দুটি HTTP শিরোনাম পাঠাতে হবে:
Cross-Origin-Embedder-Policy: require-corp
Cross-Origin-Opener-Policy: same-origin
COEP সক্ষম করার সাথে চ্যালেঞ্জ
যদিও ক্রস-অরিজিন আইসোলেশন ওয়েবপৃষ্ঠাগুলিকে আরও ভাল নিরাপত্তা এবং শক্তিশালী বৈশিষ্ট্যগুলি সক্ষম করার ক্ষমতা নিয়ে আসে, COEP স্থাপন করা কঠিন হতে পারে৷ সবচেয়ে বড় চ্যালেঞ্জগুলির মধ্যে একটি হল যে সমস্ত ক্রস-অরিজিন আইফ্রেমকে অবশ্যই COEP এবং CORP স্থাপন করতে হবে৷ সেই শিরোনামগুলি ছাড়া iframes ব্রাউজার দ্বারা লোড হবে না৷
আইফ্রেমগুলি সাধারণত তৃতীয় পক্ষ দ্বারা পরিবেশিত হয় যার জন্য COEP স্থাপন করা সহজ নাও হতে পারে৷
উদ্ধারের জন্য বেনামী iframe
এখানেই বেনামী iframe আসে৷ <iframe>
উপাদানে anonymous
বৈশিষ্ট্য যোগ করার মাধ্যমে, iframe একটি ভিন্ন, ক্ষণস্থায়ী স্টোরেজ পার্টিশন থেকে লোড হয় এবং এটি আর COEP বিধিনিষেধের অধীন নয়৷
উদাহরণ:
<iframe anonymous src="https://example.com">
Iframe একটি নতুন ক্ষণস্থায়ী প্রেক্ষাপটে তৈরি করা হয়েছে এবং শীর্ষ স্তরের ওয়েবসাইটের সাথে যুক্ত কোনো কুকিতে অ্যাক্সেস নেই৷ এটি একটি খালি কুকি জার থেকে শুরু হয়। একইভাবে, স্টোরেজ API যেমন LocalStorage
, CacheStorage
, IndexedDB
, এবং আরও অনেক কিছু নতুন ক্ষণস্থায়ী পার্টিশনে ডেটা লোড ও সংরক্ষণ করছে। পার্টিশনটি বর্তমান শীর্ষ-স্তরের নথিতে এবং iframe-এর উৎপত্তিতে বিস্তৃত। টপ-লেভেল ডকুমেন্ট আনলোড হয়ে গেলে স্টোরেজ সাফ করা হবে।
বেনামী iframes COEP এম্বেডিং নিয়মের অধীন নয়। এটি এখনও নিরাপদ, কারণ এগুলি প্রতিবার একটি নতুন খালি প্রসঙ্গ থেকে লোড হয়৷ তাদের ডেটা ব্যক্তিগতকৃত না করেই লোড করা হবে। তারা শুধুমাত্র পাবলিক ডেটা ধারণ করে, যা আক্রমণকারীর কাছে মূল্যবান নয়।
ডেমো
আপনি এখানে একটি বেনামী iframe দেখতে পারেন: https://anonymous-iframe.glitch.me/
একটি মূল বিচারের জন্য নিবন্ধন করুন
বেনামী আইফ্রেমগুলি বিকাশকারীদের ক্রস অরিজিন আইসোলেশন গ্রহণে সহায়তা করছে তা নিশ্চিত করার জন্য, আমরা সেগুলিকে ক্রোমে 106 থেকে 108 সংস্করণে একটি অরিজিন ট্রায়াল হিসাবে উপলব্ধ করছি৷
আপনার ওয়েবসাইটটিকে বেনামী আইফ্রেম ব্যবহার করতে সক্ষম করতে মূল পরীক্ষার জন্য নিবন্ধন করুন:
- আপনার মূলের জন্য একটি টোকেন অনুরোধ করুন .
- নিম্নলিখিত উপায়ে টোকেন ব্যবহার করুন:
- আপনার HTML এ:
html <meta http-equiv="Origin-Trial" content="TOKEN_GOES_HERE">
- আপনার জাভাস্ক্রিপ্টে:
js const meta = document.createElement('meta'); meta.httpEquiv = 'Origin-Trial'; meta.content = 'TOKEN_GOES_HERE'; document.head.append(meta);
- এইচটিটিপি হেডারে:
text Origin-Trial: TOKEN_GOES_HERE
- আপনার HTML এ:
- আপনার পৃষ্ঠায় একটি বেনামী iframe যোগ করুন:
html <iframe anonymous src="https://example.com">
এই বৈশিষ্ট্যের বিষয়ে আপনার কোনো প্রতিক্রিয়া থাকলে, GitHub সংগ্রহস্থলে একটি সমস্যা ফাইল করুন।
তৃতীয় পক্ষের মূল বিচার
অরিজিন ট্রায়াল তৃতীয় পক্ষের স্ক্রিপ্টগুলিতেও উপলব্ধ। এর মানে পৃষ্ঠায় এমবেড করা স্ক্রিপ্ট দ্বারা এটি সক্ষম করা যেতে পারে।
তৃতীয় পক্ষের অরিজিন ট্রায়ালের জন্য কীভাবে নিবন্ধন করতে হয় সে সম্পর্কে আরও লেরান।
FAQ
এই বৈশিষ্ট্য অন্যান্য ব্রাউজার দ্বারা গৃহীত হবে?
- অবস্থানের জন্য মোজিলা অনুরোধ: মুলতুবি
- অবস্থানের জন্য ওয়েবকিট অনুরোধ: কোন সংকেত নেই
- W3C TAG অবস্থানের জন্য অনুরোধ: সন্তুষ্ট
iframes কি <iframe anonymous>
বেনামী ভিতরে নেস্ট করা হয়?
হ্যাঁ। এটি উত্তরাধিকারসূত্রে প্রাপ্ত। একবার একটি আইফ্রেম বেনামী হয়ে গেলে, এটি সম্পূর্ণ সাবট্রির সমস্ত আইফ্রেমের ক্ষেত্রে প্রযোজ্য হয় এমনকি একটি anonymous
বৈশিষ্ট্য ছাড়াই।
<iframe anonymous>
থেকে পপ-আপগুলিও কি বেনামে তৈরি হয়?
পপ-আপগুলি খোলা হয় যেন noopener
সেট করা হয়েছে। এগুলি একটি নতুন নিয়মিত শীর্ষ-স্তরের প্রসঙ্গ থেকে তৈরি করা হয়েছে এবং বেনামী নয়৷ তারা বেনামী আইফ্রেমের সাথে যোগাযোগ করতে পারে না।
সম্পদ
- COOP এবং COEP ব্যবহার করে আপনার ওয়েবসাইটকে "ক্রস-অরিজিন আইসোলেটেড" করা
- শক্তিশালী বৈশিষ্ট্যের জন্য কেন আপনার "ক্রস-অরিজিন আইসোলেটেড" প্রয়োজন
- ক্রস-অরিজিন আইসোলেশন সক্ষম করার জন্য একটি গাইড
- Android Chrome 88 এবং Desktop Chrome 92-এ SharedArrayBuffer আপডেট
-
COEP: credentialless
ব্যবহার করে CORP শিরোনাম ছাড়াই ক্রস-অরিজিন রিসোর্স লোড করুন