মিশ্র বিষয়বস্তু ফিক্সিং

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

এই নির্দেশিকায় আমরা বিদ্যমান মিশ্র বিষয়বস্তুর সমস্যাগুলি সমাধান করার এবং নতুন সমস্যাগুলি প্রতিরোধ করার কৌশল এবং সরঞ্জামগুলি প্রদর্শন করব।

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

গুগল ক্রোমে কোনও 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:// এর মাধ্যমে রিসোর্সটি উপলব্ধ না হয়, তাহলে আপনার নিম্নলিখিত বিকল্পগুলির মধ্যে একটি বিবেচনা করা উচিত:

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

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

অ-মানক ট্যাগ ব্যবহার থেকে সাবধান থাকুন

আপনার সাইটে অ-মানক ট্যাগ ব্যবহার থেকে সাবধান থাকুন। উদাহরণস্বরূপ, anchor ( <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 যোগ করার অ্যাক্সেস নাও থাকতে পারে। পরিবর্তে, একটি কার্যকর বিকল্প হতে পারে আপনার সাইট জুড়ে সমস্যাগুলি খুঁজে বের করার জন্য একটি ওয়েবসাইট ক্রলার ব্যবহার করা, যেমন HTTPSChecker বা Mixed Content Scan

অনিরাপদ অনুরোধগুলি আপগ্রেড করা হচ্ছে

Browser Support

  • ক্রোম: ৪৪।
  • প্রান্ত: ১৭।
  • ফায়ারফক্স: ৪৮।
  • সাফারি: ১০.১।

Source

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

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

উদাহরণস্বরূপ, যদি কোনও পৃষ্ঠায় HTTP URL সহ একটি চিত্র ট্যাগ থাকে যেমন <img src="http://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> ডকুমেন্টে ক্যাসকেড করে, যাতে পুরো পৃষ্ঠাটি সুরক্ষিত থাকে।