ওয়েব কিংবা ডেস্কটপ যে অ্যাপ্লিকেশনই হোক না কেন ব্যবহারকারীদের দেয়া ইনপুট ভেলিডেশনের জন্য কি পরিমান কোড লিখতে হয় তথা কি পরিমান ঘাম ঝরাতে হয়, ডেভলপার মাত্রই তা জানেন। আর আজকাল ওয়েবসাইটে ভেলিডেশন মানেই তো জাভাস্ক্রীপ্ট। একজন ব্যবহারকারী রেজিস্ট্রেশন ফরমের প্রয়োজনীয় সকল ঘর পূরণ করল কিনা, সঠিক ফোন নম্বর বসাল কিনা, ঠিকমতো জিপ কোড লিখল কিনা ইত্যাদি জানার জন্য সার্ভার সাইডে ভেলিডেশন দেয়ার চেয়ে ক্লায়েন্ট সাইডে জাভাস্ক্রীপ্ট ভেলিডেশন দেয়াটাকেই শ্রেয় মনে প্রোগ্রামাররা। কারন এই ধরনের ক্লায়েন্ট সাইড স্ক্রীপ্টিং ব্যবহার করে খুব সহজেই একজন ব্যবহারকারীকে তাৎক্ষনিক বার্তা প্রকাশের মাধ্যমে তার ভুল সম্পর্কে অবহিত করা যায়। তাছাড়া সুসমৃদ্ধ জাভাস্ক্রীপ্টের অনন্য সব বৈশিষ্ট্য আয়ত্ত করতে প্রোগ্রামারদের খুব বেশি সময়ও লাগে না। যে কারনেই হোক না কেন বর্তমানে ক্লায়েন্ট সাইড ল্যাংগুয়েজ হিসাবে জাভাস্ক্রীপ্ট যে শীর্ষে রয়েছে এ ব্যপারে সন্দেহের কোন অবকাশ নেই।
আপনি যদি এমন কোন ওয়েব পেইজ ব্রাউজ করেন যেটির সঙ্গে এই বহুল ব্যবহৃত স্ক্রীপ্টিং ল্যাংগুয়েজের কোড সংযুক্ত আছে, চাইলে খুব সহজেই আপনি সেইসব কোডগুলো দেখতে পারেন এবং ডাউনলোড করতে পারেন। সাধারনত দুইভাবে এই কোডগুলোকে পাওয়া যায়। এক, ইনলাইন কোড হিসাবে অর্থাৎ এইচ টি এম এল কোডের ফাকে ফাকে। দুই, এক্সটারনাল সোর্স হিসাবে অর্থাৎ একটি সম্পূর্ণ আলাদা ফাইলে যার এক্সটেনশন থাকে .js। আজকাল জাভাস্ক্রীপ্ট এতো বেশি পরিমানে ব্যবহার হয় যে জাভাস্ক্রীপ্টবিহীন ওয়েব সাইট খুঁজতে আপনাকে বেশ বেগ পেতে হবে। শুধু তাই নয় এমন অনেক ওয়েবসাইট আছে যেগুলো পুরোপুরি জাভাস্ক্রীপ্টের উপর নির্ভরশীল। যে কারণে দেখবেন কিছু কিছু ওয়েবসাইট তাৎক্ষনিক বার্তা প্রকাশের মাধ্যমে আপনাকে সতর্ক করে দিবে যদি আপনার ব্যবহৃত ওয়েব ব্রাউজারটির জাভাস্ক্রীপ্ট নিষ্ক্রিয় থাকে। এর মানে হচ্ছে জাভাস্ক্রীপ্ট ব্যবহার করে প্রোগ্রামার এমন কিছু গুরুত্বপূর্ন কোড লিখেছেন যা না হলে ওয়েবপেইজটি ব্যবহার অনপুযোগী হয়ে যেতে পারে।
তাই আমরা টেস্টাররা যখন এই জাতীয় পেইজ টেস্ট করবো তখন অবশ্যই ব্রাউজারের জাভাস্ক্রীপ্ট নিষ্ক্রিয় করে দেখবো সাইটের সৌন্দর্যহানি হয় কিনা, কোনো গুরুত্বপূর্ন ফাংশনালিটি নষ্ট হয়ে যায় কিনা কিংবা ইনপুট ভেলিডেশনগুলোকে বাইপাস করে নিরাপত্তা ভাঙ্গা যায় কিনা।
প্রোগ্রামার ভাই-বোনদের বলি, আপনার যখন কোন গুরুত্বপূর্ন কিংবা স্পর্শকাতর তথ্য সংশ্লিষ্ট ইউজার কন্ট্রোলের জন্য ক্লায়েন্ট সাইড ভেলিডেশন কোড লিখবেন তখন অবশ্যই সার্ভার সাইডেও ঠিক একইরকম ভাবে ভেলিডেশন দিবেন। এতে করে একদিকে যেমন অ্যাপ্লিকেশনটির নিরাপত্তা নিশ্চিত হবে অন্যদিকে অনাকাংখিত সৌন্দর্যহানির হাত থেকেও রক্ষা পাবে আপনার প্রিয় ওয়েবসাইটটি।
এখন প্রশ্ন হচ্ছে কোথায় এবং কখন সার্ভার সাইড ভেলিডেশন দিব? ক্লায়েন্ট সাইড ভেলিডেশন দেবার পরও যদি সার্ভার সাইড ভেলিডেশন দেয়া হয় তবে কি অতিরিক্ত হয়ে যাচ্ছে না? আমরা জানি, একজন ব্যবহারকারী যখন একটি ফরম পূরণ করেন তখন সঠিক ভাবে তা করতে জাভাস্ক্রীপ্ট দিয়ে বিভিন্ন ধরনের বার্তা প্রকাশের মাধ্যমে তাকে সহায়তা করা হয়। ক্লায়েন্ট সাইডে ডাটা ভেলিডেশনের অন্যতম প্রধান কারন হচ্ছে ব্যবহারকারীকে সহায়তা করা যাতে করে সে তার তথ্যগুলোকে সার্ভারে পাঠানোর আগে অনাকাংখিত ভুলগুলোকে তাৎক্ষনিকভাবে সংশোধন করে নিতে পারে। এখন একটা ফরমের ডাটা ক্লায়েন্ট সাইডে ভেলিডেট হবার পরও সার্ভার সাইডে আবার ভেলিডেট করতে হবে কারন যে ব্যবহারকারী ফরমটি পূরণ করছেন তিনি একজন সাধারন ব্যবহারকারী না হয়ে একজন হ্যাকারও হতে পারেন যে কি আপনার সিস্টেম কে তার দখলে নেয়ার পায়তারা করছে। এক্ষেত্রে আপনাকে অবশ্যই সিস্টেমের নিরাপত্তার কথা ভাবতে হবে এবং সেই অনুযায়ী ব্যবস্থা নিতে হবে।
সাধারণত ক্লায়েন্ট সাইড ভেলিডেশনের মাধ্যমে দেখা হয় ব্যবহারকারী ফরমের কোন প্রয়োজনীয় ফিল্ড খালি রাখল কিনা কিংবা ফরম ভ্যালুগুলো সঠিক ফরমেটে আছে কিনা। অনেক সময় ক্লায়েন্ট-সার্ভার রাউন্ড ট্রিপ পরিহার করার জন্যও ক্লায়েন্ট সাইড ভেলিডেশন দেয়া হয়ে থাকে। অন্যদিকে সার্ভার সাইড ভেলিডেশনের মাধ্যমে দেখা হয় ব্যবহারকারীর দেয়া তথ্য গ্রহণযোগ্য কিনা। মনে রাখতে হবে, দুই ক্ষেত্রেই সুস্পষ্ট ভাষায় ব্যবহারকারীকে তার ভুল সম্পর্কে অবহিত করা প্রয়োজন। ধন্যবাদ সবাইকে।
সর্বশেষ এডিট : ১৯ শে ফেব্রুয়ারি, ২০০৯ রাত ১২:৩৭