একটি পৃষ্ঠায় মিশ্র বিষয়বস্তু থাকে যখন এর প্রাথমিক HTML একটি সুরক্ষিত HTTPS সংযোগের মাধ্যমে লোড হয়, কিন্তু অন্যান্য রিসোর্স (যেমন ছবি, ভিডিও, স্টাইলশিট এবং স্ক্রিপ্ট) একটি অসুরক্ষিত HTTP সংযোগের মাধ্যমে লোড হয়। এই নামটি একটি একক পৃষ্ঠায় HTTP এবং HTTPS বিষয়বস্তুর মিশ্রণকে বোঝায়।
অসুরক্ষিত HTTP প্রোটোকল ব্যবহার করে সাবরিসোর্সের জন্য অনুরোধ করা হলে তা পেজের নিরাপত্তা দুর্বল করে দেয়, কারণ এই অনুরোধগুলো অন-পাথ অ্যাটাকের ঝুঁকিতে থাকে। এই পদ্ধতিতে একজন আক্রমণকারী একটি নেটওয়ার্ক সংযোগে আড়ি পাতে এবং দুটি পক্ষের মধ্যকার যোগাযোগ দেখে বা পরিবর্তন করে। এই রিসোর্সগুলো ব্যবহার করে আক্রমণকারীরা ব্যবহারকারীদের ট্র্যাক করতে এবং একটি ওয়েবসাইটের কন্টেন্ট প্রতিস্থাপন করতে পারে। আর সক্রিয় মিক্সড কন্টেন্টের ক্ষেত্রে, তারা শুধু অসুরক্ষিত রিসোর্সগুলোরই নয়, বরং পুরো পেজটিরই সম্পূর্ণ নিয়ন্ত্রণ নিয়ে নিতে পারে।
যদিও অনেক ব্রাউজার ব্যবহারকারীকে মিক্সড কন্টেন্ট সংক্রান্ত সতর্কবার্তা দেয়, কিন্তু সেই সতর্কবার্তা প্রায়শই অনেক দেরিতে আসে: ততক্ষণে অনিরাপদ অনুরোধগুলো সম্পন্ন হয়ে যায় এবং পেজটির নিরাপত্তা বিঘ্নিত হয়।
নিরাপত্তাজনিত কারণে এখন বেশিরভাগ ব্রাউজারই মিশ্র কন্টেন্ট ব্লক করে। আপনার পেজটি যেন সঠিকভাবে লোড হতে থাকে, তা নিশ্চিত করতে অসুরক্ষিত কন্টেন্টের অনুরোধগুলোকে সুরক্ষিত কন্টেন্টে পরিবর্তন করুন।
দুই ধরণের মিশ্র বিষয়বস্তু
মিশ্র বিষয়বস্তু দুই প্রকারের হয়: সক্রিয় এবং নিষ্ক্রিয়।
ছবি, ভিডিও এবং অডিও সহ প্যাসিভ মিক্সড কন্টেন্ট পেজের বাকি অংশের সাথে কোনো মিথস্ক্রিয়া করে না, তাই কোনো ম্যান-ইন-দ্য-মিডল অ্যাটাক যদি সেই কন্টেন্টকে আটক করে বা পরিবর্তন করে, তবে তার কার্যকলাপ সীমিত হয়ে পড়ে।
অ্যাক্টিভ মিক্সড কন্টেন্ট পুরো পেজটির সাথেই মিথস্ক্রিয়া করে। এর মধ্যে স্ক্রিপ্ট, স্টাইলশিট, আইফ্রেম এবং ব্রাউজার ডাউনলোড ও এক্সিকিউট করতে পারে এমন যেকোনো কোড অন্তর্ভুক্ত। অ্যাক্টিভ মিক্সড কন্টেন্টের উপর আক্রমণের মাধ্যমে একজন আক্রমণকারী পেজটির প্রায় সবকিছুই করতে পারে।
নিষ্ক্রিয় মিশ্র বিষয়বস্তু
অ্যাক্টিভ মিক্সড কন্টেন্টের তুলনায় প্যাসিভ মিক্সড কন্টেন্টে ঝুঁকি কম, কিন্তু সেই ঝুঁকি এখনও বিদ্যমান। উদাহরণস্বরূপ, একজন আক্রমণকারী যা করতে পারে:
- আপনার সাইটের ছবিগুলোর জন্য করা HTTP অনুরোধগুলো আটক করুন এবং সেই ছবিগুলো অদলবদল বা প্রতিস্থাপন করুন।
- বাটনগুলোর ছবি বদলে দিন, যাতে ব্যবহারকারীরা বিভ্রান্ত হয়ে পড়েন এবং উদাহরণস্বরূপ, যে কন্টেন্ট তারা সংরক্ষণ করতে চেয়েছিলেন তা মুছে ফেলেন।
- আপনার ছবিগুলোকে অশ্লীল বিষয়বস্তু দিয়ে প্রতিস্থাপন করে আপনার সাইটটিকে বিকৃত করুন।
- আপনার পণ্যের ছবিগুলো অন্য কিছুর বিজ্ঞাপন দিয়ে প্রতিস্থাপন করুন।
আক্রমণকারী আপনার সাইটের বিষয়বস্তু পরিবর্তন না করলেও, তারা মিক্সড কন্টেন্ট রিকোয়েস্টের মাধ্যমে ব্যবহারকারীদের ট্র্যাক করতে পারে। ব্রাউজার যে ছবি বা অন্যান্য রিসোর্স লোড করে, তার উপর ভিত্তি করে তারা এও জানতে পারে যে একজন ব্যবহারকারী কোন পৃষ্ঠাগুলো ভিজিট করে এবং কোন পণ্যগুলো দেখে।
প্যাসিভ মিক্সড কন্টেন্ট থাকলে, বেশিরভাগ ব্রাউজার অ্যাড্রেস বারে দেখিয়ে দেয় যে পেজটি সুরক্ষিত নয়, এমনকি যখন পেজটি HTTPS-এর মাধ্যমে লোড করা হয় তখনও।
সম্প্রতি পর্যন্ত, প্যাসিভ মিক্সড কন্টেন্ট সব ব্রাউজারে লোড হতো, কারণ এটি ব্লক করলে অনেক ওয়েবসাইট ভেঙে পড়ত। এখন এই পরিস্থিতি বদলাতে শুরু করেছে, তাই আপনার সাইটে থাকা মিক্সড কন্টেন্টের প্রতিটি দৃষ্টান্ত আপডেট করা অত্যাবশ্যক।
কিছু ক্ষেত্রে, ক্রোম স্বয়ংক্রিয়ভাবে প্যাসিভ মিক্সড কন্টেন্ট আপগ্রেড করে । এর মানে হলো, যদি কোনো অ্যাসেট HTTP হিসেবে হার্ড-কোড করা থাকে কিন্তু সেটি HTTPS-এও উপলব্ধ থাকে, তাহলে ব্রাউজারটি HTTPS সংস্করণটি লোড করে। যদি কোনো সুরক্ষিত সংস্করণ না থাকে, তাহলে অ্যাসেটটি লোড হয় না।
যখনই Chrome মিশ্র কন্টেন্ট শনাক্ত করে বা প্যাসিভ মিশ্র কন্টেন্ট স্বয়ংক্রিয়ভাবে আপগ্রেড করে, তখন এটি আপনার নির্দিষ্ট সমস্যাটি সমাধানের জন্য পরামর্শ দিতে DevTools-এর Issues ট্যাবে বিস্তারিত বার্তা লগ করে।

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

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