নোস্ক্রিপ্ট সিকিউরিটি সুইট (NSS) একটি চমৎকার, চমৎকার টুল। এটি ফায়ারফক্স এবং বিভিন্ন ক্রোমিয়াম-ভিত্তিক ব্রাউজারের জন্য এক্সটেনশন হিসেবে আসে, এবং এটি করছে কি, নিরর্থক, শব্দাললে আধুনিক "মডার্ন" ইন্টারনেটকে শান্তির একটি পুকুরে রূপান্তর করছে। এবং এটি করে স্ক্রিপ্ট এবং ওয়েব পেজের অন্যান্য এলিমেন্ট ব্লক করে। সুন্দর, এলিগেন্ট। আপনি একটি দ্রুত, শান্ত অভিজ্ঞতা পান। কোনো ন্যাগিং নেই, কোনো ওভারহেড নেই। আপনি যখন স্ক্রিপ্টিং দরকার করেন, আপনি সিলেক্টিভলি এনাবল করেন। খুব ভালো কাজ করে, কিন্তু শুধু আপনি যদি টেকি হন।
দুর্ভাগ্যবশত, সাধারণ মানুষ AKA নার্ড না তাদের জন্য, এটি একটি সমাধান নয়। তারা পার-সাইট পারমিশন, স্ক্রিপ্ট না চললে কিছু ব্রোকেন কিনা সেটা বুঝতে, বা অনুরূপ জিনিসে মাথা খারাপ করতে পারেন না। কিন্তু যদি আপনি নন-রিস্ট্রিক্টেড ব্রাউজিংয়ের সকল ফ্লেক্সিবিলিটি চান কিন্তু এখনও নোস্ক্রিপ্টের কিছু মহান শক্তি ব্যবহার করতে চান? খোল, আমি মনে করি আমার কাছে ফর্মুলা আছে। আমার पीछे আসুন।
অ্যালাও সাব বাট
সাধারণত, নোস্ক্রিপ্ট একটি ডিফল্ট-ডিনি টুল। আপনি শুধু নির্দিষ্ট ডোমেইন হোয়াইটলিস্ট করেন যেগুলোর ওপর আপনি আস্থা রাখেন - এবং সেটাও আপনি পার-সেশন, অস্থায়ীভাবে করতে পারেন। চমৎকার, কিন্তু আপনাকে রিজর এবং ডিসিপ্লিন দরকার। ডিফল্ট-অ্যালাওতে যাওয়া সঠিক সমাধানও নয়, কারণ তাহলে, আপনাকে নোস্ক্রিপ্ট দরকার নেই। কিন্তু এটাই সেটি এক্সটেনশনটি চমকে।
স্ক্রিপ্টিংসহ ডিফল্ট
যে টু গাইডে আমি নোস্ক্রিপ্টে আউটলাইন করেছিলাম, সেখানে তিনটি লেভেল অফ পারমিশন আছে - ডিফল্ট, ট্রাস্টেড এবং анট্রাস্টেড। প্রথমটি স্ক্রিপ্ট ব্লক করে কিন্তু কিছু অন্যান্য ওয়েব এলিমেন্ট অনুমতি দেয় (যেন ইমেজ, মিডিয়া, ইত্যাদি)। ট্রাস্টেড স্ক্রিপ্টিং আবশ্যক করে এবং (অপশনালি) সবকিছু অনুমতি দেয়। আনট্রাস্টেড সবকিছু ব্লক করে। ট্রাস্টেড + আনট্রাস্টেড একসাথে ভালো কাজ করে - এমনকি আপনি যদি একটি পেজে টেম্পোরারিলি অ্যালাও সাব (ট্রাস্ট) করেন, আনট্রাস্টেড ডোমেইনগুলো এখনও ব্লক থাকবে। তাই আপনি কিছু প্রোটেকশন এবং সুবিধা পায়েন। আমরা এই প্রিন্সিপলগুলো সাধারণ মানুষের জন্য টুইক করতে পারি!

ডিফল্ট জোনকে রোজমর্রার ব্রাউজিংয়ের জন্য কিছু সাধারণ, আবশ্যক এলিমেন্ট অনুমতি দিতে সেট করুন। সাধারণত, এতে স্ক্রিপ্ট, অবজেক্ট, মিডিয়া, এবং ফ্রেম থাকে। অন্যান্য এলিমেন্টগুলো অপশনাল, আসলে। সংক্ষেপে, ব্যবহার একে নেমে আসে:
- WebGL - আপনি যদি WebGL অনুমতি দিতে না চান, তবে আপনার ব্রাউজারে হার্ডওয়্যার-এক্সিলারেটেড ২D/৩D গ্রাফিক্স থাকবে না, এবং আপনি শুধু সফ্টওয়্যার রেন্ডারিংর উপর নির্ভর করবেন। নাকাম দিক হলো ব্যাটারি-চালিত ডিভাইসে ব্যাটারি লাইফ কমে যাবে এবং কিছু কেসে পেজ রেন্ডারিং কিছুটা ধীর হবে। আপসাইড হলো আপনি হার্ডওয়্যার গ্রাফিক্স স্ট্যাকে যেকোনো বাগ বা ইস্যুতে এক্সপোজড হবেন না। অধিকাংশ কেসে, WebGL ব্যবহার করা ঠিক আছে।
- Fonts - এটি একটি হট টপিক, এবং আমি এর সম্পর্কে سابقًا ব্যাপকভাবে কথা বলেছি। রিমোট ফন্টস সমস্যা খড়া করতে পারে, এবং সেগুলো নেটে সিকিউরিটি ড্রামার একটি চমৎকার সোর্স। আমি রিমোট ফন্টস পছন্দ করি না অনেক কারণেই, কারণ ওয়েবসাইটগুলো সম্পূর্ণ সমাধান হওয়া উচিত, এবং থার্ড-পার্টি সোর্স থেকে র্যান্ডম জিনিস লোড করা শুধু আলসি। এছাড়া সিকিউরিটি এবং প্রাইভেসি ইমপ্লিকেশনও আছে, কিন্তু - একবার আবার - নোস্ক্রিপ্ট একটি চমৎকার সমাধান দেয়। ফন্ট ব্লক করলে পেজগুলো "কুৎসিত" হয়ে যেতে পারে, কিন্তু তবুও, আপনি দেখতে পাবেন আধুনিক ইন্টারনেট আসলে কতটা ভঙ্গুর এবং খারাপ ডিজাইন করা। তো আছে।
- Fetch - মূলত, এটি রিকোয়েস্ট হ্যান্ডল করার জন্য ব্যবহৃত হয়। আপনাকে এটি অনুমতি দিতে হবে, যাতে সাইটগুলো "সঠিকভাবে" রেসপন্স দেয়, যেকোনো রিডাইরেক্ট, এরর ইত্যাদি সহ।
- Ping - এটি এন্ড ইউজারদের জন্য কোনো ভ্যালু রাখে না, শুধু সার্ভারের জন্য। পিং অ্যাট্রিবিউট একটি URL লিস্ট স্পেসিফাই করে যেগুলো নোটিফাই করা হবে যদি ইউজার একটি হাইপারলিংক ফলো করে। অন্য কথায়, "মডার্ন" শব্দে, এটি যেকোনো পয়েন্টলেস, 쓸모없는 ট্র্যাকিং-এর জন্য আরও একটি ভেক্টর হতে পারে। তাই আপনাকে এটা এনাবল করার দরকার নেই।
- Noscript - যখন স্ক্রিপ্ট ডিজেবল থাকে, একটি HTML পেজ সোর্সে noscript এলিমেন্টে 래প করা কন্টেন্ট তখন দেখানো হবে। যেহেতু আমরা স্ক্রিপ্ট অনুমতি দিতে চাই, এটি খুব মানে রাখে না। এখনও, এটা অনুমতি দিয়ে রাখতে কোনো ক্ষতি নেই।
- Other - পেজে থাকতে পারে বাকি সব কিছু। কেন না। ঠিক-ঠাক।
এই কনফিগারেশন inplace থাকলে, লোকেরা ওয়েবসাইট ব্রাউজ করতে পারবেন الواضحভাবে কোনো বাধা ছাড়া। সব কিছু ডিফল্টলি কাজ করতে পারে, এবং আপনাকে যেকোনো কার্ডিনাল সমস্যা সম্মুখীন হওয়া উচিত নয়। কিন্তু তারপরও, আমরা আরও কিছু কিছু করতে পারি - এবং নোস্ক্রিপ্ট আমাদের জন্য করতে পারে।
XSS এবং আনট্রাস্টেড ডোমেইন
নোস্ক্রিপ্টের আরেকটি সুন্দর সুবিধা হলো এটি ক্রস-সাইট স্ক্রিপ্টিং অ্যাটাক থেকে রক্ষা করে। এর টেকনিক্যাল এক্সপ্লানেশন একটু শব্দাবহুল, কিন্তু মূলত, আপনি যদি স্ক্রিপ্ট অনুমতি দেন (নোস্ক্রিপ্ট ব্যবহার করার মূল কারণ), তবুও আপনি এর অন্যান্য ক্ষমতাগুলো থেকে লাভান্বিত হবেন। তাই সেখানে আপনি কভারড।

তারপর, আপনি যদি কিছু ডোমেইন আনট্রাস্ট করেন, আপনার ডিফল্ট জোন যদি খুব লিবারেল এবং ওপেন হয়, তবুও আপনি বিরক্তিকর সাইটগুলো থেকে মুক্তি পেতে পারেন, বিশেষ করে যখন সেগুলো থার্ড-পার্টি ডোমেইন মাত্র বিজ্ঞাপন বা ট্র্যাকিংয়ের জন্য ব্যবহৃত হয়। যেকোনো সাইটে, আপনি নোস্ক্রিপ্ট আইকন মেনু এক্সপ্যান্ড করুন, এবং তারপর প্রতিটি ডোমেইনের জন্য প্রাসঙ্গিক পারমিশন সেট করুন। আপনি কাস্টম অপশনও ব্যবহার করতে পারেন।

উদাহরণস্বরূপ, আপনি সকল ফন্ট ব্লক করতে চান, কিন্তু শুধু একটি নির্দিষ্ট সেট পেজে সেগুলো অনুমতি দিতে চান। একই নোটে, আপনি নির্দিষ্ট ডোমেইনগুলো রিমুভ করতে চান, যাতে আপনার ওয়েব এক্টিভিটি সহজে ট্র্যাক এবং অ্যাসোসিয়েট করা না যায় একাধিক ডোমেইন জুড়ে। ব্রাউজাররা এনহ্যান্সড/স্ট্রিক্ট ব্রাউজিং প্রোটেকশন দিয়ে এই সমস্যাটি সমাধান করার চেষ্টা করছে, থার্ড-পার্টি কুকিজ কমিয়ে বা সরিয়ে, কিন্তু আপনি নোস্ক্রিপ্ট ব্যবহার করে সমাধানটিকে আরও রোবাস্ট করতে পারেন। আপনি এডব্লকিং-এর সাথে এই এক্সটেনশনের ব্যবহার কম্বাইন করতে পারেন, যাতে আপনি আপনার লিস্টে কিছু ডোমেইন মিস বা ভুলে যাওয়া সত্ত্বেও, এডব্লকিং এক্সটেনশন ওয়েব পেজগুলো স্যানিটাইজ করবে, যখন তাদের স্ক্রিপ্ট লোড হবে।
এটি কাজ করে কি?
হ্যাঁ, কাফি ভালো। আমি নোস্ক্রিপ্ট এবং uBlock Origin সাইড বাই সাইড ব্যবহার করছি এক段时段。 আসলে, আমি সকল ভিন্ন পারমিউটেশন टेস্ট করছি - কিছু নেই, এক বা অন্য, উভয় সাইড বাই সাইড, ভিন্ন ব্রাউজার সেটিংস। এটা অবিশ্বাস্যভাবে আশা অনুযায়ী, সবচেয়ে অপ্টিমাল কম্বিনেশন হলো নোস্ক্রিপ্ট + UBO, কারণ utóতটিও ওয়েব পেজে সব ধরনের বিরক্তিকর ফিচার ব্লক এবং স্যানিটাইজ করার ক্ষমতা রাখে। একমাত্র বিষয় যা লক্ষণীয় - থার্ড-পার্টি ফন্টস লোড হচ্ছে না। ভালো।

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

আপনি যদি এটি করেন, আপনি আরও কিছু কুল জিনিস আবিষ্কার করবেন যেন:
- আপনি দেখবেন সাইটগুলো তাদের "কোর" কন্টেন্টর পাশাপাশি কতটুকু 쓸모없는 জিনিস লোড করে।
- আপনি দেখবেন কতগুলো সাইট কুকুর বমিটের মতো দেখে যদি আপনি তাদের থার্ড-পার্টি কন্টেন্ট (যেন ফন্ট) ডিজেবল করেন।
- আপনি একটি স্পিড বুস্টও লক্ষ্য করবেন - এমনকি স্ক্রিপ্ট এনাবলড থাকা সত্ত্বেও - কারণ অনেক 쓸모없는 জিনিস লোড হবে না।
এডব্লকিং-এর সাথে কম্বিনেশনে, আপনি ব্যান্ডউইথ বাঁচাবেন, নয়েজ কমাবেন, এবং আপনার ব্রাউজিং পারফরম্যান্স উন্নত করবেন। উইন উইন উইন!
উপসংহার
তো আপনি সাধারণ মানুষের জন্য নোস্ক্রিপ্ট কীভাবে সেটআপ করবেন? খোল, আপনি আপনার নিজের ইনস্ট্যান্স তৈরি করুন, টুইক করুন - এবং তারপর সেটিংস এক্সপোর্ট করুন। আপনি যখন অন্য মানুষ তাদের ব্রাউজার কনফিগার করতে সাহায্য করেন, আপনি সেটিংস ইম্পোর্ট করতে পারেন। বেসিক আইডিয়া হলো ডিফল্ট জোনে স্ক্রিপ্ট এবং কিছু অন্যান্য এলিমেন্ট অনুমতি দেওয়া, যা নোস্ক্রিপ্ট + নন-টেকিজের সাথে ৯৯% সমস্যা সমাধান করে। আপনি অপশনালি আপনার নিজস্ব ট্রাস্টেড, আনট্রাস্টেড এবং কাস্টম লিস্ট তৈরি করে সেটআপটিকে আরও এলিগেন্ট করতে পারেন।
এটি ফুলপ্রুফ? অবশ্যই নয়। কোনো টেকনোলজি ফুলপ্রুফ নয়। নোস্ক্রিপ্ট যেটি পারপাসফুলি তার ক্লিনজিং মিশনের অংশ হিসেবে ব্রোকেন-এন্ড-কনফিউজিং ওয়েব অভিজ্ঞতা সৃষ্টি করে, এবং ভেটেরান নার্ডরা যারা ঠিক জানেন তারা কী করছে, তাদের মাঝপথে, এখনও এই এক্সটেনশনকে সাধারণ ব্যবহারকারীদের জন্য উপযোগী করা সম্ভব। আমার টেস্টিং সীমিত, কিন্তু আমি মনে করি আমি যে কনফিগারেশন আউটলাইন করেছি সেটি ভালো কাজ করে, এক্সট্রা সিকিউরিটি দেয়, প্রাইভেসি উন্নত করে, এবং সার্ফিং ব্রেক করে না। একবার ট্রাই করুন, আপনার অনন্যা আত্মীয়দের কাছে এটা ফেলুন, এবং আপনার ফাইন্ডিংস শেয়ার করুন। আমরা শেষ।
চিয়ার্স।