somewhere in... blog
x
ফোনেটিক ইউনিজয় বিজয়

সার্ভার সাইড ভেলিডেশনের প্রয়োজনীয়তা - ১

১৬ ই ডিসেম্বর, ২০০৮ রাত ৯:৪০
এই পোস্টটি শেয়ার করতে চাইলে :

প্রায় প্রতিটি ওয়েব অ্যাপ্লিকেশনেই বিভিন্ন ধরণের ইউজার কন্ট্রোল যেমন টেক্সটবক্স, লিস্টবক্স, ড্রপডাউন ইত্যাদি ব্যবহার করতে হয়। এই কন্ট্রোল গুলোর মাধ্যমে আসলে ব্যবহারকারীকে কিছু পূর্বনির্ধারিত মান সিলেকশন করতে বাধ্য করা হয়। যেমন ধরুন আপনার ওয়েবসাইটে পণ্য ক্রয়ের সময় ইউজার যাতে ১০ এর অধিক পণ্যের জন্য অর্ডার করতে না পারে এজন্য আপনি একটি ড্রপডাউন বক্স ব্যবহার করেছেন। ড্রপডাউনটিতে ১ থেকে ১০ পর্যন্ত সংখ্যাগুলো ক্রমানুসারে সাজিয়ে রেখেছেন। কোনো পণ্য ক্রয় করতে হলে ব্যবহারকারীকে পণ্যের নাম এবং পণ্যের সংখ্যা সিলেক্ট করে অর্ডারটি সাবমিট করতে হবে। এবার মনে করুন একজন ব্যবহারকারী (আ্যাটাকার) ওই ড্রপডাউনটির তৃতীয় মানটি আংশিক পরিবর্তন করে অর্থাৎ ৩ কে -৩ (ঋণাত্নক) লিখে সার্ভারে পাঠাল। যেহেতু আপনি ধরেই নিয়েছেন ব্যবহারকারীকে সবসময় ১ থেকে ১০ এর মধ্যে যে কোনো একটি মান সিলেক্ট করে সার্ভারে পাঠাতে হবে সেহেতু ক্লায়েন্ট সাইডে ভেলিডেশন দেবার পর, আবার সার্ভার সাইডে ভেলিডেশন দেবার প্রয়োজন মনে করেননি। এদিকে পণ্যের দরের (৫,০০০.০০ টাকা) সঙ্গে পণ্যের সংখ্যা (-৩) কে গুণ করে গুণফল (-১৫,০০০.০০ টাকা) ব্যবহারকারীর আকাউন্ট থেকে কেটে নেয়া হয়েছে। ধরি ওই ব্যবহারকারীর একাউন্টে আগে থেকেই ২০,০০০.০০ টাকা জমা ছিল। সূত্রানুযায়ী এখন তার ব্যালেন্স হবে (২০,০০০.০০-(-১৫,০০০.০০)) = ৩৫,০০০.০০ টাকা। এইভাবে একজন আ্যাটাকার ড্রপডাউনের মান পরিবর্তন করে সার্ভারে পোস্ট করার কাজটা খুব সহজেই Paros এর মতো প্রক্সি ব্যবহার করে করতে পারে।

আপনি নিশ্চয়ই এইরকম ভয়াবহ বাগ আপনার প্রিয় আ্যপ্লিকেশনে দেখতে চাইবেন না। শুধু ড্রপডাউন ইউজার কন্ট্রোলই নয় একই ভাবে অন্যান্য ইউজার কন্ট্রোলগুলোকেও হ্যাকিংয়ের হাতিয়ার হিসেবে ব্যবহার করা যেতে পারে। ওয়েবসাইটে বিশেষ কোনো অধিকার কে কিছু নির্দিষ্ট ধরনের ব্যবহারকারীর কাছে অলভ্য করে রাখার জন্য তাৎক্ষনিকভাবে কিছু ইউজার কন্ট্রোলকে নিষ্ক্রিয় (Disable) করে রাখার প্রবণতা ডেভেলপারদের মধ্যে দেখা যায় যা কিনা একজন হ্যাকারকে প্রলুব্ধ করতে পারে। এই বিষয়ে একটি অভিজ্ঞতার কথা বলি।

"অ্যাসোসিয়েশন অব টিচার্স এডুকেশন" নামক একটি প্রতিষ্ঠান তাদের সদস্য ব্যবস্থাপনার জন্য একটি ওয়েব অ্যাপ্লিকেশন ব্যবহার করে থাকে। ওই অ্যাপ্লিকেশনটির অনলাইন পে-মেন্ট ফরম টেস্ট করতে গিয়ে উপরে বর্ণিত বাগের মতো একটি বাগ পেয়ে যাই। পে-মেন্ট ফরমটি দেখতে অনেকটা নিচের ছবিটির মতো ছিল।



এই ফরমটি ব্যবহার করে সদস্যগণ তাদের রেজিষ্ট্রেশনের শেষ ধাপ সম্পন্ন করে থাকেন। এখানে লক্ষ্যনীয় যে, রেজিষ্ট্রেশন ফি এবং সর্বমোট নামক টেক্সটবক্স দুটি নিষ্ক্রিয় করে রাখা হয়েছিল যাতে করে ব্যবহারকারীরা উক্ত বক্স দুটির মান পরিবর্তন না করতে পারেন। মূলত, সাবমিট বাটনে ক্লিক করলে ব্যবহারকারীর দেয়া ক্রেডিট কার্ড সম্পর্কিত তথ্যের গ্রহনযোগ্যতা পরীক্ষা করে ব্যবহারকারীর ক্রেডিট কার্ড থেকে Total নামক টেক্সটবক্সটির মানের সমপরিমান টাকা (এক্ষেত্রে ১,৮৫০.০০ ডলার) কেটে নেয়া হবে এবং ব্যবহারকারীকে প্রতিষ্ঠানটির একজন আজীবন সদস্য হিসেবে বিবেচনা করা হবে। এরপর আমি যেটা করেছিলাম সেটা হলো Total নামক টেক্সটবক্সটির মান পরিবর্তন করে ১.০০ ডলার করে দিয়ে সাবমিট বাটন টিতে ক্লিক করেছিলাম এবং দেখতে পেলাম আমার দেয়া ক্রেডিট কার্ডটি থেকে মাত্র ১ ডলার কেটে নিয়ে আমাকে আজীবন সদস্যপদ দেয়া হয়েছে। লক্ষ্য করুন, নিরাপত্তার কথা ভেবে প্রোগ্রামাররা রেজিষ্ট্রেশন ফি এবং সর্বমোট টেক্সটবক্স দুটিকে নিষ্ক্রিয় করে রেখেছিলেন আর এ জন্য সার্ভার সাইডে কোনরূপ ভেলিডেশন দেয়ার প্রয়োজনীয়তা মনে করেননি।

কোন নিষ্ক্রিয় ইউজার কন্ট্রোল কে সক্রিয় করার জন্য আমরা Web Developer নামক ফায়ারফক্সের এই জনপ্রিয় Add-on টিকে ব্যবহার করতে পারি নিম্নে দেখানো উপায়ে।



আশা করি প্রোগ্রামার বন্ধুরা এতক্ষনে বুঝে গেছেন বিশেষ ক্ষেত্রসমূহে সার্ভার সাইড ভেলিডেশন কতখানি প্রয়োজন। যে সমস্ত টেস্টার বন্ধুরা এই জাতীয় টেস্ট আগে করতেন না তাদেরকে বলবো, আজ থেকে আপনার টেস্ট কেস তালিকায় উপরের টেস্ট কেসটিও যোগ করে নিন। সতর্ক থাকুন, নিরাপদ থাকুন।
১০টি মন্তব্য ০টি উত্তর

আপনার মন্তব্য লিখুন

ছবি সংযুক্ত করতে এখানে ড্রাগ করে আনুন অথবা কম্পিউটারের নির্ধারিত স্থান থেকে সংযুক্ত করুন (সর্বোচ্চ ইমেজ সাইজঃ ১০ মেগাবাইট)
Shore O Shore A Hrosho I Dirgho I Hrosho U Dirgho U Ri E OI O OU Ka Kha Ga Gha Uma Cha Chha Ja Jha Yon To TTho Do Dho MurdhonNo TTo Tho DDo DDho No Po Fo Bo Vo Mo Ontoshto Zo Ro Lo Talobyo Sho Murdhonyo So Dontyo So Ho Zukto Kho Doye Bindu Ro Dhoye Bindu Ro Ontosthyo Yo Khondo Tto Uniswor Bisworgo Chondro Bindu A Kar E Kar O Kar Hrosho I Kar Dirgho I Kar Hrosho U Kar Dirgho U Kar Ou Kar Oi Kar Joiner Ro Fola Zo Fola Ref Ri Kar Hoshonto Doi Bo Dari SpaceBar
এই পোস্টটি শেয়ার করতে চাইলে :
আলোচিত ব্লগ

কর কাজ নাহি লাজ

লিখেছেন বাকপ্রবাস, ১৬ ই মে, ২০২৪ দুপুর ১২:৩৪


রাফসান দা ছোট ভাই
ছোট সে আর নাই
গাড়ি বাড়ি কিনে সে হয়ে গেছে ধন্য
অনন্য, সে এখন অনন্য।

হিংসেয় পুড়ে কার?
পুড়েপুড়ে ছারখার
কেন পুড়ে গা জুড়ে
পুড়ে কী জন্য?

নেমে পড় সাধনায়
মিছে মর... ...বাকিটুকু পড়ুন

তাঁর বোতলে আটকে আছে বিরোধী দল

লিখেছেন মহাজাগতিক চিন্তা, ১৬ ই মে, ২০২৪ বিকাল ৫:০৭



সেই ২০০৯ সালে তিনি যে ক্ষমতার মসনদে বসলেন তারপর থেকে কেউ তাঁকে মসনদ থেকে ঠেলে ফেলতে পারেনি। যারা তাঁকে ঠেলে ফেলবে তাদের বড়টাকে তিনি বোতল বন্দ্বি করেছেন।... ...বাকিটুকু পড়ুন

নতুন গঙ্গা পানি চুক্তি- কখন হবে, গ্যারান্টি ক্লজহীন চুক্তি নবায়ন হবে কিংবা তিস্তার মোট ঝুলে যাবে?

লিখেছেন এক নিরুদ্দেশ পথিক, ১৬ ই মে, ২০২৪ বিকাল ৫:২৬


১৬ মে ঐতিহাসিক ফারাক্কা দিবস। ফারাক্কা বাঁধ শুষ্ক মৌসুমে বাংলাদেশে খরা ও মরুকরণ তীব্র করে, বর্ষায় হঠাৎ বন্যা তৈরি করে কৃষক ও পরিবেশের মরণফাঁদ হয়ে উঠেছে। পানি বঞ্চনা এবং... ...বাকিটুকু পড়ুন

কেউ কি আমার বন্ধু শাহেদের ঠিকানা জানেন?

লিখেছেন জিএম হারুন -অর -রশিদ, ১৬ ই মে, ২০২৪ রাত ৯:৩৪



কেউ কি আমার বন্ধু শাহেদের ঠিকানা জানেন?
আমার খুবই জরুরি তার ঠিকানাটা জানা,
আমি অনেক চেষ্টা করেও ওর ঠিকানা জোগাড় করতে পারছিনা।

আমি অনেক দিন যাবত ওকে খুঁজে বেড়াচ্ছি,
এই ধরুণ, বিশ-একুশ বছর।
আশ্চর্য্য... ...বাকিটুকু পড়ুন

আজকের ব্লগার ভাবনা:কথায় কথায় বয়কট এর ডাক দেয়া পিনাকীদের আইডি/পেইজ/চ্যানেল বাংলাদেশে হাইড করা উচিত কি? ব্লগাররা কি ভাবছেন?

লিখেছেন লেখার খাতা, ১৭ ই মে, ২০২৪ রাত ১২:১৩



অপূর্ব একজন চমৎকার অভিনেতা। ছোট পর্দার এই জনপ্রিয় মুখকে চেনেনা এমন কেউ নেই। সাধারণত অভিনেতা অভিনেত্রীদের রুজিরোজগার এর একটি মাধ্যম হইল বিজ্ঞাপনে মডেল হওয়া। বাংলাদেশের কোন তারকা যদি বিদেশী... ...বাকিটুকু পড়ুন

×