Honeypot টেকিনিক নামে সবাই ডাকে! ওয়েব সিকিউরিটিতে স্প্যাম ফর্ম সাবমিশন আটকাতে খুব জনপ্রিয় একটা টেকনিক!
চলুন জেনে নেই কিভাবে কাজ করে এই টেকনিক!
ধরেন আপনার কাছে একটা সিম্পল রেস্টুরেন্ট বুকিং ফর্ম আছে!
Name: required | string
Email: required | email
Number of guests: required | number
Phone: required | phone
Special Request: nullable| max:500
এই ফর্ম ফিল্ডের স্পেশাল রিকোয়েস্ট কে টার্গেট করবে স্প্যামারস রা! ধরেন আজে বাজে লিংক দিয়ে দিবে, হাইপার লিংক দিয়ে দিবে! আপনি যতই স্যানিটাইজ করেন, ভ্যালিডেশন করেন, স্ট্রিপ করেন , ফর্ম কিন্তু সাবমিশন হবেই! আপনার গোল হচ্ছে, এই স্প্যামারস রা যেন কোনো ভাবেই আপনার ফর্ম সাবমিশন না করতে পারে!
এখানেই আপনার একটা মধুর বালতি মানে আর কি হানিপট রাখতে হবে কিন্তু হিডেন!
Name: required | string
Email: required | email
Number of guests: required | number
Phone: required | phone
Special Request: nullable| max:500
Honeypot Field: max:0
আপনি আপনার html markup এ একটা এক্সট্রা ইনপুট ফিল্ড এড করছেন কিন্তু হিডেন আকারে! এখানেই খেলাটা ঘুরে যাবে!
তো সাধারন ইউজার যারা বুক করতে আসবে, তারা এই হিডেন ফর্ম ফিল্ড দেখবেও না!, আর ফিল ও করবে না, এই ফর্ম এর ভ্যালুর লেন্থ হবে যিরো!
কিন্তু স্প্যামারস রা তো ইউজ করে স্ক্রিপ্ট, এদের স্ক্রিপ্ট এ কোড করা আছে, যত ফিল্ড আছে, ফিল করে পোস্ট রিকোয়েস্ট করো!
এই তো মধুর বালতি সে খুজে ফেলছে! যখন ই স্প্যামারস এর স্ক্রিপ্ট এই হিডেন ফিল্ড ফিল করে পোস্ট রিকোয়েস্ট করবে, আপনি তখন ই সার্ভার এন্ডে ভ্যালিডেশন করে ধরবেন!
কি রে ভাই, এই ফিল্ড তো লেন্থ যিরো থাকার কথা, এরে ফিল করছে কে!
রিডায়রেক্ট এজ স্প্যাম! প্রয়োজনে পরে এই আইপি ধরে ব্যান করে দেন!
সার্ভার এন্ডের কোড কিছুটা এরকম হবে,
if( !empty( $honeypot_field ) {
echo “কে বে তুই!”;
}
ব্যাস এইত স্প্যামারস এভাবেই আপনার মধুর বালতির প্রেমে পড়ে ফর্ম সাবমিট করবে, আর আপনি ডিস্কার্ড করবেন!
হ্যা এখানে অবশ্যই, Dynamic Honeypot field নেমিং ইউজ করবেন!
স্প্যাম আটকানোর জন্য আরো অনেক কিছু আছে যেমন, সাবমিশন থ্রটল মিডলোয়ার, mx record validation, Akismat API and so on!
তবে হানিপট মেথড কিন্তু সত্যিই অনেক কাজের, ট্রাই করে দেখতে পারেন!