كيفية التحقق مما إذا كان الروبوت يدخل المعلومات

StackOverflow https://stackoverflow.com/questions/1239283

  •  11-09-2019
  •  | 
  •  

سؤال

لدي نموذج ويب يقوم المستخدمون بملء المعلومات وإرسال المعلومات إلى الخادم وتخزينها في قاعدة بيانات. أنا قلق من أن الروبوتات قد تملأ فقط النموذج وسوف ينتهي بك الأمر مع قاعدة بيانات كاملة من السجلات عديمة الفائدة. كيف يمكنني منع الروبوتات من ملء أشكالي؟ أفكر ربما شيء مثل الكشف عن الروبوت في Stackoverflow، حيث إذا كان يعتقد أنك روبوت، فسيطلب منك التحقق من أنك لست كذلك. هل هناك API جانب الخادم في بيرل أو جافا أو فب؟

هل كانت مفيدة؟

المحلول

هناك العديد من الحلول.

  1. استخدام captcha. لذلك استخدامات recaptcha. على حد علمى.

  2. أضف حقل إضافي إلى النموذج الخاص بك وإخفائه مع CSS (عرض: لا شيء). لن يرى المستخدم العادي هذا الحقل وبالتالي لن يملأه. يمكنك التحقق من التقديم إذا كان هذا الحقل فارغا. إذا لم يكن الأمر كذلك، فأنت تتعامل مع روبوت ملأ بعناية جميع حقول النماذج. عادة ما يشار إلى هذه التقنية باسم "مصالبتيبايبوت".

  3. إضافة وظيفة توقيت جافا سكريبت. عند تحميل الصفحة، يبدأ قيمة صفر ثم يزيد من مرور الوقت. سوف يقرأ المستخدم العادي وملء النموذج الخاص بك لبعض الوقت وبعد ذلك فقط إرساله. سوف يرجع الروبوت فقط وتقديم النموذج فور استلامه. يمكنك التحقق مما إذا كانت القيمة قد ذهبت كثيرا من الصفر عند التقديم. إذا كان لديه، فمن المحتمل أن يكون مستخدم حقيقي. إذا رأيت بضع ثوان فقط (أو حتى لا توجد قيمة على الإطلاق بسبب الروبوتات التي لا تنفذ JavaScript)، فمن المحتمل أن يكون الروبوت. ومع ذلك، سيعمل هذا فقط إذا قررت أنك ستطلب من المستخدمين لديك JavaScript من أجل إجراء عمليات "الكتابة".

هناك تقنيات أخرى بالتأكيد. ولكن هذه بسيطة جدا وفعالة.

نصائح أخرى

يمكنك استخدام recaptcha. (نفس contackoverflow) - لديهم المكتبات لعدد من لغات البرمجة.

أنا دائما المفضل مفضل مصبوبوت captcha (مقال من قبل فيل هاك)، كما أقل الغازية للمستخدم.

CAPTCHAS تجلب مشاكل في إمكانية الوصول وسيتم هزيمة في نهاية المطاف من قبل التعرف على البرامج.

أنا أوصي قراءة هذا مقالة قصيرة حول BOT Raps، والتي تشمل الحقول المخفية، كما اقترحت Matthew Vines و New in Town بالفعل.

على أي حال، لا تزال حرة في استخدام كل من الفخاخ CAPTCHA و BOT.

CAPTCHA رائع. الشيء الآخر الذي يمكنك القيام به من شأنه أن يمنع 99٪ من حركة مرور الروبوت الخاصة بك حتى الآن لا يزعج المستخدمين هو التحقق من صحة الحقول.

موقعي، أتحقق من النص في الحقول مثل الرمز البريدي ورقم الهاتف. التي أزالت جميع معلومات الروبوت غير المستهدفة.

يمكنك إنشاء نظام من خطوتين يتمتع فيه المستخدم بالملء النموذج، ولكن يجب عليك الرد على بريد إلكتروني إلى "تنشيط" السجل خلال فترة زمنية محددة - قل 24 ساعة.

في النهاية الخلفية، بدلا من ملء الجدول الحالي الخاص بك مع كل التقديمات النموذجية، يمكنك وضعها في جدول مؤقت يحذف تلقائيا أي صف أكبر من تخصيص وقتك. ما لم يكن لديك مشكلة بوت خطيرة، فأنا أعتقد أن الجدول لن يحصل على ذلك كبيرا، خاصة إذا كان النموذج الأول مجرد عدد قليل من الحقول.

إن الفائض من هذا النهج هو أنه لا يتعين عليك استخدام كلمة التحقق أو بعض التكنولوجيا الأخرى التي قد تخلق بعض مشاكل في إمكانية الوصول.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top