مصيدة الربوتات Honeypot

مصيدة الروبوتات Honeypot ماهى وما إستخدامها فى تطوير الويب

مصيدة الربوتات هى تقنية بسيط الغرض منها صنع فخ للربوتات او Spam , المفهوم كبير ويمكن ان يستخدم فى كثير من تطبيقات الآمن السبرانى على اصعدة مختلفة مثل الشبكات وغيرها ولكن اهتمامنا اليوم بإستخدامه فى تطوير الويب فى نماذج التسجيل مثل تسجيل الأعضاء.

ماهى مصيدة الربوتات فى تطوير الويب

ببساطة هى عبارة عن حقل إضافى فى نموذج التسجيل هذا الحقل غير مرئى للمستخدمين حيث يتم إخفاءه عن طريق CSS وفى نفس الوقت فإن الروبوتات تقوم بملئ هذا الحقل بشكل أتوماتيكى (لان برامج Spam لن تميزه وستقوم بملءه كأي حقل أخر).

يقوم المطور بوضع شرط فعند ملء هذا الحقل فهذا يعنى بالضرورة ان ربوت قام بملءه فتقوم بعدم إتمام الطلب.

على الرغم من بساطة الفكرة إلا انها طريقة فعالة و تساعد كثير فى حماية النماذج مثل نماذج التعليقات فى الموقع او التسجيل او الإشراك فى القائمة البريدية وغيرها.

تنفيذ مصيدة الربوتات بإستخدام PHP

لنفترض ان لدينا نموذج بسيط لتسجيل الأعضاء كالتالى

<label for="email">Email:</label>
<input type="email" id="email" name="email" required>

<!-- Honeypot field -->
<label for="username">Username:</label>
<input type="text" id="username" name="username" style="display:none;">
...

نقوم بوضع حقل مخفى بإي اسم وليكن Username , لاحظ ان هذا الحقل غير مرئى للمستخدم العادى حيث اننا قمن بإخفاءه عن طريق وسم style.

وعن طريق كود PHP نقوم بالتالى

$email = $_POST['email'];
$username = $_POST['username'];

// Check if honeypot field is filled out
if (!empty($username)) {
  // فى حالة ملء هذا الحقل فهذا يعنى انه تم عن طريق بوت
  // فى هذه الحالة لا تكمل العملية
  exit;
}

// اكمل معالجة الطلب
// ...

نقوم بوضع شرط لمعرفة ما إذا كان تم ملء هذا الحقل, ففى حالة ملءه نقوم بالخروج من السكربت, لاحظ انه اذا كان هذه دالة يمكننا إستخدام العبارة return.

اشترك فى القائمة البريدية

عن الكاتب

شارك على وسائل التواصل

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *