كيف أحمي الفورم من الإرسال المتكرر

  • YounesWP

مثلا لدينا فروم من خلالها يمكن إرسال سؤال ، كيف يمكن ان نتجنب إرسال المستخدم للعديد من الأسئلة دفعة واحدة (يمكنه أن ينشء ملف خارجي يضع فيها نفس فورم طرح السؤال بنفس ال action و names الخاصة بالـ inputs) ويقوم بإرسال بيانات متعددة في نفس الوقت بالعدد الذي يريده ،،

هل يمكن تفادي هذه المشكلة بدون captcha وبدون فاصل زمني بين كل submit وآخر ؟

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

xlmnxp أضف ردا

بعد كل عملية الادخال خزن تاريخ الادخال

وبعد الادخال الاخير الذي تحدده تحقق من التاريخ في 30 ثانية مثلًا أحسب كم ادخال للبيانات لنفس العضو او بالـIP الخاص به

SQL:

where date_email_sent between '17-May-12 00:00:00.000' AND '17-May-12 23:59:59.000'

ومن ثم حساب عدد الـrows إذا كان اكبر من 3 مثلًا يقوم باظهار رسالة تفيده بانه تجاوز العدد المحدد ٣ رسالة بالساعه

حل جيد لكن أعتقد أنه من الأفضل استعمال ال sessions بدل تخزينها في قاعدة البيانات

يمكن للمستخدم عمل clear لل-cookies وبذلك تفتح session جديدة في السرفير لأنه كما تعرف معرف ال-session يحفض في ال-cookies في PHP، حل الأخ @xlmnxp جيد أظن.

شكرا لكم

محمد عزيز الكناني أضف ردا

أهلاً مرة أخرى، كتبت لك مثال سريع، أفتح thread واشغلها هذا ليس الحل أفضل، في production يمكن أن استعمل task queue أو قاعدة بيانات أو أفضل يمكن إستعمل شيء مثل redis

افضل حل هو وضع فاصل زمني قصير (10 ثواني مثلا) ومنعه من تكرار نفس السؤال أكثر من مرة .