মিক্সড কন্টেন্ট সংক্রান্ত সমস্যার সমাধান করা

Jo-el van Bergen
Jo-el van Bergen

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

এই গাইডে আমরা আগে থেকে থাকা মিক্সড কন্টেন্ট সংক্রান্ত সমস্যা সমাধান করা এবং নতুন সমস্যা যাতে না হয় তার জন্য প্রযুক্তি ও টুল দেখাব।

আপনার সাইটে গিয়ে মিক্সড কন্টেন্ট খুঁজে দেখা

Google Chrome-এ কোনও HTTPS পৃষ্ঠা ভিজিট করার সময়, ব্রাউজার আপনাকে জাভাস্ক্রিপ্ট কনসোলে ত্রুটি এবং সতর্কতা হিসেবে মিশ্র কন্টেন্ট সম্পর্কে সতর্ক করে।

মিক্সড কন্টেন্ট কী?, এই লিঙ্কে আপনি অনেক উদাহরণ দেখতে পাবেন এবং Chrome DevTools-এ কীভাবে সমস্যার রিপোর্ট করা হয় তাও জানতে পারবেন।

প্যাসিভ মিক্সড কন্টেন্টের উদাহরণে নিম্নলিখিত সতর্কতা দেখানো হয়। ব্রাউজার যদি https URL-এ কন্টেন্ট খুঁজে পায়, তাহলে এটি অটোমেটিক আপগ্রেড করে এবং তারপর একটি মেসেজ দেখায়।

মিক্সড কন্টেন্ট শনাক্ত ও আপগ্রেড করা হলে Chrome DevTools-এ সতর্কতা দেখানো হয়

অ্যাক্টিভ মিক্সড কন্টেন্ট ব্লক করা হয় এবং একটি সতর্কতা দেখানো হয়।

অ্যাক্টিভ মিক্সড কন্টেন্ট ব্লক করা হলে Chrome DevTools-এ সতর্কতা দেখানো হচ্ছে

আপনার সাইটে http://টি URL-এর জন্য এই ধরনের সতর্কতা দেখতে পেলে, আপনার সাইটের সোর্সে সেগুলি ঠিক করতে হবে। এইসব URL-এর একটি তালিকা তৈরি করা এবং আপনি যে পৃষ্ঠায় সেগুলি খুঁজে পেয়েছেন তার নাম উল্লেখ করা সহায়ক হতে পারে, যাতে আপনি সেগুলি ঠিক করার সময় ব্যবহার করতে পারেন।

আপনার সাইটে মিক্সড কন্টেন্ট খোঁজা

আপনি সরাসরি সোর্স কোডে মিক্সড কন্টেন্ট সার্চ করতে পারবেন। আপনার সোর্সে http:// সার্চ করুন এবং HTTP URL অ্যাট্রিবিউট সহ ট্যাগ খুঁজুন। মনে রাখবেন যে অ্যাঙ্কর ট্যাগের (<a>) href অ্যাট্রিবিউটে http:// থাকা সাধারণত মিক্সড কন্টেন্ট সংক্রান্ত সমস্যা নয়, তবে কিছু উল্লেখযোগ্য ব্যতিক্রম আছে যা পরে আলোচনা করা হয়েছে।

আপনার সাইট যদি কন্টেন্ট ম্যানেজমেন্ট সিস্টেম ব্যবহার করে প্রকাশ করা হয়, তাহলে পৃষ্ঠা প্রকাশ করার সময় অসুরক্ষিত URL-এর লিঙ্ক যোগ করা হতে পারে। যেমন, রিলেটিভ পাথের পরিবর্তে সম্পূর্ণ URL সহ ছবি অন্তর্ভুক্ত করা হতে পারে। আপনাকে CMS কন্টেন্টের মধ্যে এগুলি খুঁজে বের করে ঠিক করতে হবে।

মিক্সড কন্টেন্ট সংক্রান্ত সমস্যার সমাধান করা

আপনার সাইটের সোর্সে মিক্সড কন্টেন্ট খুঁজে পেলে, আপনি এই ধাপগুলি অনুসরণ করে তা ঠিক করতে পারেন।

আপনি যদি কনসোল মেসেজ পান যে রিসোর্স অনুরোধ HTTP থেকে HTTPS-এ অটোমেটিক আপগ্রেড করা হয়েছে, তাহলে আপনি নিরাপদে আপনার কোডে রিসোর্সের জন্য http:// URL-কে https://-এ পরিবর্তন করতে পারবেন। এছাড়াও, ব্রাউজারের URL বারে http://-এর পরিবর্তে https:// লিখে এবং ব্রাউজার ট্যাবে URL খোলার চেষ্টা করে, কোনও রিসোর্স নিরাপদে উপলভ্য কিনা তা আপনি চেক করে দেখতে পারেন।

https://-এর মাধ্যমে রিসোর্স উপলভ্য না হলে, আপনাকে নিম্নলিখিত বিকল্পগুলির মধ্যে একটি বিবেচনা করতে হবে:

  • অন্য কোনও হোস্ট থেকে রিসোর্স অন্তর্ভুক্ত করুন, যদি একটি উপলভ্য থাকে।
  • আইনিভাবে অনুমতি থাকলে, আপনার সাইটে সরাসরি কন্টেন্ট ডাউনলোড ও হোস্ট করুন।
  • আপনার সাইট থেকে রিসোর্সটি সম্পূর্ণভাবে বাদ দিন।

সমস্যার সমাধান করার পরে, যে পৃষ্ঠায় আপনি প্রথমে সমস্যাটি খুঁজে পেয়েছিলেন সেটি দেখুন এবং সমস্যাটি আর দেখা যাচ্ছে না কিনা তা যাচাই করুন।

স্ট্যান্ডার্ড নয় এমন ট্যাগ ব্যবহার করার ব্যাপারে সতর্ক থাকুন

আপনার সাইটে স্ট্যান্ডার্ড নয় এমন ট্যাগ ব্যবহার করার ব্যাপারে সতর্ক থাকুন। যেমন, অ্যাঙ্কর (<a>) ট্যাগ URL-এর ক্ষেত্রে মিক্সড কন্টেন্ট সংক্রান্ত সমস্যা হয় না, কারণ এর ফলে ব্রাউজার নতুন পৃষ্ঠায় নেভিগেট করে। এর অর্থ হল, সাধারণত এগুলি ঠিক করার প্রয়োজন হয় না। তবে কিছু ইমেজ গ্যালারি স্ক্রিপ্ট <a> ট্যাগের কার্যকারিতা ওভাররাইড করে এবং পৃষ্ঠার লাইটবক্স ডিসপ্লেতে href অ্যাট্রিবিউট দ্বারা নির্দিষ্ট করা HTTP রিসোর্স লোড করে, যার ফলে মিক্সড কন্টেন্ট সংক্রান্ত সমস্যা হয়।

স্কেলে মিক্সড কন্টেন্ট ম্যানেজ করা

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

কন্টেন্ট নিরাপত্তা নীতি

কন্টেন্ট নিরাপত্তা নীতি (CSP) হল একটি বহুমুখী ব্রাউজার ফিচার যা আপনি স্কেলে মিশ্র কন্টেন্ট ম্যানেজ করতে ব্যবহার করতে পারেন। আপনার সাইটে মিক্সড কন্টেন্ট ট্র্যাক করতে CSP রিপোর্টিং মেকানিজম ব্যবহার করা যেতে পারে, এবং মিক্সড কন্টেন্ট আপগ্রেড বা ব্লক করার মাধ্যমে ব্যবহারকারীদের সুরক্ষিত রাখতে এনফোর্সমেন্ট নীতি প্রদান করে।

আপনার সার্ভার থেকে পাঠানো উত্তরে Content-Security-Policy বা Content-Security-Policy-Report-Only হেডার অন্তর্ভুক্ত করে আপনি কোনও পৃষ্ঠার জন্য এইসব ফিচার চালু করতে পারবেন। এছাড়াও, আপনার পৃষ্ঠার <head> বিভাগে <meta> ট্যাগ ব্যবহার করে Content-Security-Policy (যদিও Content-Security-Policy-Report-Only নয়) সেট করতে পারবেন।

কন্টেন্ট সুরক্ষা সংক্রান্ত নীতির মাধ্যমে মিক্সড কন্টেন্ট খোঁজা

আপনার সাইটে মিক্সড কন্টেন্টের রিপোর্ট সংগ্রহ করতে আপনি কন্টেন্ট নিরাপত্তা নীতি ব্যবহার করতে পারেন। এই ফিচার চালু করতে, আপনার সাইটের জন্য রেসপন্স হেডার হিসেবে যোগ করে Content-Security-Policy-Report-Only নির্দেশ সেট করুন।

রেসপন্স হেডার:

Content-Security-Policy-Report-Only: default-src https: 'unsafe-inline' 'unsafe-eval'; report-uri https://example.com/reportingEndpoint

ব্যবহারকারী আপনার সাইটের কোনও পৃষ্ঠা ভিজিট করলে, কন্টেন্ট নিরাপত্তা নীতি লঙ্ঘন করে এমন যেকোনও কিছু সম্পর্কে তার ব্রাউজার JSON-ফরম্যাটে রিপোর্ট https://example.com/reportingEndpoint-এ পাঠায়। এই ক্ষেত্রে, HTTP-এর মাধ্যমে সাবরিসোর্স লোড করা হলে, একটি রিপোর্ট পাঠানো হয়। এইসব রিপোর্টে সেই পৃষ্ঠার URL থাকে যেখানে নীতি লঙ্ঘন হয়েছে এবং নীতি লঙ্ঘনকারী সাবরিসোর্স URL থাকে। আপনি যদি এই রিপোর্টগুলি লগ করার জন্য আপনার রিপোর্টিং এন্ডপয়েন্ট কনফিগার করেন, তাহলে আপনি নিজে প্রতিটি পৃষ্ঠা ভিজিট না করেই আপনার সাইটে মিক্সড কন্টেন্ট ট্র্যাক করতে পারবেন।

এর জন্য দুটি সতর্কতা হল:

  • ব্যবহারকারীদের এমন ব্রাউজারে আপনার পৃষ্ঠা দেখতে হবে যা CSP হেডার বুঝতে পারে। বেশিরভাগ আধুনিক ব্রাউজারের ক্ষেত্রে এটি প্রযোজ্য।
  • আপনার ব্যবহারকারীরা যেসব পৃষ্ঠা ভিজিট করেছেন, শুধুমাত্র সেগুলির রিপোর্টই আপনি পাবেন। তাই আপনার সাইটের কোনও পৃষ্ঠায় ট্রাফিক কম থাকলে, পুরো সাইটের রিপোর্ট পেতে কিছুটা সময় লাগতে পারে।

কন্টেন্ট নিরাপত্তা নীতি গাইড থেকে আরও তথ্য এবং এন্ডপয়েন্টের উদাহরণ পাবেন।

CSP-এর মাধ্যমে অভিযোগ জানানোর বিকল্প

Blogger-এর মতো কোনও প্ল্যাটফর্ম আপনার সাইট হোস্ট করলে, হেডার পরিবর্তন করা এবং CSP যোগ করার অ্যাক্সেস আপনার কাছে নাও থাকতে পারে। এর পরিবর্তে, একটি কার্যকর বিকল্প হতে পারে আপনার সাইট জুড়ে সমস্যাগুলি খুঁজে পেতে একটি ওয়েবসাইট ক্রলার ব্যবহার করা, যেমন HTTPSChecker বা মিক্সড কন্টেন্ট স্ক্যান।

অসুরক্ষিত অনুরোধ আপগ্রেড করা হচ্ছে

Browser Support

  • Chrome: 44.
  • Edge: 17.
  • Firefox: 48.
  • Safari: 10.1.

Source

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

upgrade-insecure-requests CSP ডাইরেক্টিভ নেটওয়ার্ক অনুরোধ করার আগে ব্রাউজারকে অসুরক্ষিত URL আপগ্রেড করার নির্দেশ দেয়।

উদাহরণস্বরূপ, কোনও পৃষ্ঠায় HTTP URL সহ ইমেজ ট্যাগ থাকলে, যেমন <img src="https://example.com/image.jpg">

পরিবর্তে, ব্রাউজার https://example.com/image.jpg-এর জন্য একটি সুরক্ষিত অনুরোধ করে, যার ফলে ব্যবহারকারীকে মিক্সড কন্টেন্ট থেকে রক্ষা করে।

আপনি এই নির্দেশ সহ Content-Security-Policy হেডার পাঠিয়ে এই আচরণ চালু করতে পারেন:

Content-Security-Policy: upgrade-insecure-requests

অথবা <meta> এলিমেন্ট ব্যবহার করে ডকুমেন্টের <head> বিভাগে একই নির্দেশ ইনলাইন এম্বেড করে:

<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">

ব্রাউজার অটোমেটিক আপগ্রেড করার মতো, HTTPS-এ রিসোর্স উপলভ্য না হলে, আপগ্রেড করা অনুরোধ কাজ করে না এবং রিসোর্স লোড হয় না। এটি আপনার পৃষ্ঠার নিরাপত্তা বজায় রাখে। upgrade-insecure-requests নির্দেশিকা অটোমেটিক ব্রাউজার আপগ্রেড করার চেয়েও বেশি কিছু করবে, ব্রাউজার বর্তমানে যেসব অনুরোধ আপগ্রেড করে না সেগুলি আপগ্রেড করার চেষ্টা করবে।

upgrade-insecure-requests নির্দেশিকা <iframe> ডকুমেন্টে ক্যাসকেড করে, পুরো পৃষ্ঠাটি সুরক্ষিত আছে কিনা তা নিশ্চিত করে।