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

আধুনিক ওয়েব ব্রাউজারগুলো 'স্যান্ডবক্স' নামক একটি ধারণার উপর ভিত্তি করে তৈরি। স্যান্ডবক্স হলো একটি নিরাপত্তা ব্যবস্থা, যা কোনো অ্যাপ্লিকেশনকে একটি সীমাবদ্ধ পরিবেশে চালানোর জন্য ব্যবহৃত হয়। খেলার মাঠের ভৌত স্যান্ডবক্সের মতোই, যেখানে শিশুরা অন্য কোথাও নোংরা না করে সীমানার মধ্যে যা খুশি তাই তৈরি করতে পারে, অ্যাপ্লিকেশন কোডও একটি সীমাবদ্ধ পরিবেশে স্বাধীনভাবে কার্যকর হতে পারে। উদাহরণস্বরূপ, জাভাস্ক্রিপ্ট পেজের বিভিন্ন উপাদান যোগ ও পরিবর্তন করতে পারলেও, বাইরের কোনো JSON ফাইল অ্যাক্সেস করার ক্ষেত্রে সীমাবদ্ধ থাকতে পারে। এর কারণ হলো 'সেম-অরিজিন' নামক একটি স্যান্ডবক্স বৈশিষ্ট্য।
স্যান্ডবক্স কেন প্রয়োজন?
প্রতিদিন, ওয়েব ব্যবহারকারীরা যথেচ্ছ কোড ডাউনলোড করে এবং তাদের কম্পিউটার বা ফোনে একাধিকবার তা চালায়। যদি কেউ আপনাকে বলত, "এই অ্যাপ্লিকেশনটি ডাউনলোড করে চালান!", আপনি হয়তো একটু থেমে ভাবতেন যে অ্যাপ্লিকেশনটি কোনো বিশ্বস্ত উৎস থেকে এসেছে কিনা, অ্যাপ্লিকেশনটির বিক্রেতা সম্পর্কে খোঁজখবর নিতেন, বা রিভিউগুলো ভালোভাবে দেখতেন। কিন্তু যখন কেউ আপনাকে একটি ইউআরএল পাঠিয়ে বলে, "এই ব্লগ পোস্টটি দেখুন", তখন কী হবে? আপনি সম্ভবত "এই সাইটটি কী ধরনের জাভাস্ক্রিপ্ট ডাউনলোড করবে?"-এর মতো প্রশ্ন না করেই তাতে ক্লিক করে দিতেন।
ব্রাউজার স্যান্ডবক্স হলো একটি মূল বৈশিষ্ট্য যা যথেচ্ছ কোড চালানোকে আরও নিরাপদ করে তোলার মাধ্যমে ওয়েব ব্রাউজিংকে বাধাহীন করে তোলে।
নকশা অনুযায়ী এটিকে সুরক্ষিত করুন
ব্রাউজার যদি প্রতিটি ওয়েব অ্যাপ্লিকেশনকে স্যান্ডবক্সিং করে, তাহলে কি আমাদের নিরাপত্তা নিয়ে আদৌ চিন্তা করা উচিত? অবশ্যই হ্যাঁ!
প্রথমত, স্যান্ডবক্স ফিচারগুলো নিখুঁত সুরক্ষাকবচ নয়। ব্রাউজার ইঞ্জিনিয়াররা কঠোর পরিশ্রম করলেও, ব্রাউজারগুলোতে দুর্বলতা থাকতে পারে এবং আক্রমণকারীরা সবসময় স্যান্ডবক্সকে বাইপাস করার চেষ্টা করে (যেমন স্পেক্টার অ্যাটাকের ক্ষেত্রে)।
স্যান্ডবক্স কখনও কখনও একটি চমৎকার ওয়েব অভিজ্ঞতা তৈরিতে বাধা হয়ে দাঁড়াতে পারে। উদাহরণস্বরূপ, একটি ব্রাউজার অন্য কোনো ডোমেইনে হোস্ট করা ছবির ফেচ রিকোয়েস্ট ব্লক করে দিতে পারে। আপনি ক্রস-অরিজিন রিসোর্স শেয়ারিং (সংক্ষেপে CORS) চালু করে বিভিন্ন ডোমেইনের রিসোর্স শেয়ার করতে পারেন, কিন্তু এটি সতর্কতার সাথে করা না হলে আপনি ওয়েবের অন্য সবার কাছে একটি রিসোর্স উন্মুক্ত করে দিতে পারেন, যা মূলত স্যান্ডবক্সের কার্যকারিতা নষ্ট করে দেয়।
শেষ করুন
একটি সুরক্ষিত ওয়েব অভিজ্ঞতা তখনই অর্জন করা সম্ভব, যখন আপনার অ্যাপ্লিকেশনের ডিজাইনের মধ্যেই নিরাপত্তাকে অন্তর্ভুক্ত করা হয়, এবং একটি শক্তিশালী ডিজাইনের সূচনা হয় বিদ্যমান বৈশিষ্ট্যগুলো বোঝার মাধ্যমে। পরবর্তী দুটি গাইডে CORS এবং same-origin policy নিয়ে গভীরভাবে আলোচনা করা হয়েছে।