বাস্তব উদাহরণের মাধ্যমে কন্টেন্ট সিকিউরিটি পলিসি (CSP) বুঝার চেষ্টা করি
চরিত্র:
- সামিরা: একজন সাধারণ ব্যবহারকারী, যিনি একটি ব্লগে মন্তব্য করতে চান।
- রহমান: একজন হ্যাকার, যিনি সামিরার মন্তব্যের মাধ্যমে তার ম্যালিশিয়াস কোড ঢুকানোর চেষ্টা করছে।
- জীবন: ব্লগের মালিক, যিনি ওয়েবসাইটের সুরক্ষা নিশ্চিত করতে চান।
গল্পের শুরু:
দৃশ্য ১: ব্লগের ল্যান্ডিং পেজ
সামিরা একটি জনপ্রিয় ব্লগে প্রবেশ করে, যেখানে সে কিছু মন্তব্য পড়ছে। ব্লগটি সিম্পল এবং ব্যবহারকারী বান্ধব। সামিরা কিছু লেখার সিদ্ধান্ত নেয় এবং একটি মন্তব্য ফর্মে তার নাম এবং মন্তব্য লিখে জমা দেয়।
<form id="comment-form">
<input type="text" name="name" placeholder="আপনার নাম" required />
<textarea name="content" placeholder="আপনার মন্তব্য" required></textarea>
<button type="submit">জমা দিন</button>
</form>
দৃশ্য ২: রহমানের পরিকল্পনা
রহমান, একজন হ্যাকার, এই ব্লগে প্রবেশ করে। সে জানে যে ব্লগটির সুরক্ষা দুর্বল এবং সে সেখানে তার ম্যালিশিয়াস স্ক্রিপ্ট ইনজেক্ট করার সুযোগ খুঁজছে। সে মনে মনে ভাবে, “আমি সামিরার মন্তব্যে একটি স্ক্রিপ্ট ঢুকিয়ে দেব, এবং দেখব কী হয়।”
রহমান ফর্মের ইনপুট ফিল্ডে লিখে:
- নাম: রহমান
- মন্তব্য:
<script>alert('Hacked!');</script>
তিনি স্ক্রিপ্টটি জমা দেন। ব্লগটি সেটি গ্রহণ করে এবং স্ক্রিপ্টটি সরাসরি ওয়েবপেজে প্রদর্শিত হয়।
দৃশ্য ৩: অশান্তি শুরু হয়
সামিরা ব্লগটি রিফ্রেশ করে এবং তার মন্তব্য দেখতে পায়। কিন্তু হঠাৎ তার স্ক্রিপ্টটি কার্যকর হয়ে যায়, এবং একটি এলার্ট উইন্ডো খুলে যায়: “Hacked!” সামিরা ভীত হয়ে পড়ে এবং বুঝতে পারে যে কিছু ভুল হচ্ছে।
জীবনের কৌশল
দৃশ্য ৪: জীবন প্রবেশ করে
জীবন, ব্লগের মালিক, বিষয়টি দেখেন এবং বুঝতে পারেন যে ব্লগে কিছু নিরাপত্তার অভাব রয়েছে। তিনি সিদ্ধান্ত নেন যে তিনি কন্টেন্ট সিকিউরিটি পলিসি (CSP) প্রয়োগ করবেন।
তিনি তার ওয়েবসাইটের সার্ভারে CSP সেট আপ করেন:
Content-Security-Policy: default-src 'self'; script-src 'self';
এটি নিশ্চিত করে যে শুধুমাত্র ওয়েবসাইটের নিজস্ব স্ক্রিপ্টগুলি লোড হবে এবং বাইরের স্ক্রিপ্টগুলি ব্লক হবে।
দৃশ্য ৫: নতুন সুরক্ষা
জীবন ব্লগের সুরক্ষা বাড়াতে শুরু করে। তিনি ঘোষণা করেন: “এখন থেকে আমাদের ব্লগের নিরাপত্তা বাড়ানোর জন্য CSP কার্যকর করা হয়েছে।”
রহমান আবার ব্লগে আসে এবং সেই একই স্ক্রিপ্টটি জমা দেয়:
- নাম: রহমান
- মন্তব্য:
<script>alert('Hacked!');</script>
কিন্তু এবার, যখন সে মন্তব্যটি জমা দেয়, ব্রাউজার CSP নিয়ম অনুযায়ী স্ক্রিপ্টটিকে ব্লক করে।
দৃশ্য ৬: নিরাপত্তা নিশ্চিত করা
সামিরা আবার ব্লগে প্রবেশ করে এবং দেখে যে তার মন্তব্যগুলি এখন সুরক্ষিত। রহমানের স্ক্রিপ্ট কাজ করে না, এবং সামিরা শান্তির নিঃশ্বাস নেয়।
দৃশ্য ৭: উপসংহার
জীবন বুঝতে পারে যে CSP কিভাবে তার ব্লগের সুরক্ষা বাড়াতে সহায়ক। এখন ব্যবহারকারীরা নিরাপদে মন্তব্য করতে পারে, এবং রহমানের মতো হ্যাকারদের জন্য সুযোগ নেই।