اجمع تحقق الخادم ورمز مكافحة روبوتات مفحوصا وحدود طلبات متناسبة. لا يكفي إخفاء endpoint أو تعطيل زر الإرسال لأن الطلب يمكن إرساله مباشرة. يمكن للطلب المكرر بالمفتاح نفسه استعادة النتيجة دون إنشاء سجل جديد. عرض الأداة دون تحقق الخادم غير كاف.
اجمع طبقات حماية مستقلة
لا يكفي إخفاء endpoint أو تعطيل زر الإرسال لأن الطلب يمكن إرساله مباشرة. يجب أن يفحص الخادم نوع البيانات وأطوالها وحجمها وorigin والقيم المقبولة. قد يساعد حقل مصيدة ضد بعض الروبوتات، لكنه يجب ألا يعوق لوحة المفاتيح أو قارئ الشاشة.
Turnstile إشارة إضافية وليس بديلًا عن التحقق. أرسل الرمز إلى خدمة التحقق الخادمية وافحص النجاح وhostname وaction وفق الإعداد. المفتاح العام يمكن أن يظهر في الصفحة، أما secret فيبقى على الخادم. مفاتيح الاختبار الرسمية للتطوير ولا ينبغي أن تسمح بجمع بيانات في الإنتاج.
اضبط التكرار دون فقد الطلب الصحيح
حدود الطلبات تقلل الإساءة لكن قد تؤثر على عدة أشخاص خلف شبكة واحدة. استخدم معرفات محدودة مثل hash بمفتاح عند الحاجة، ولا تسجل IP خامًا بلا سياسة وضرورة. وضح للمستخدم متى يعيد المحاولة دون كشف تفاصيل الدفاع الداخلية.
تحل idempotency مشكلة أخرى: إعادة الطلب نفسه بسبب الشبكة يجب ألا تنشئ سجلًا ثانيًا. احفظ المفتاح مع بصمة المحتوى ونفذ الكتابة بأمان عند التزامن. استخدام المفتاح نفسه بمحتوى مختلف يجب رفضه. فحص الوجود ثم الكتابة دون قيد قاعدة مناسب قد يتسابق.
اجعل الفشل صادقًا
إذا انتهى الرمز، وفر إعادة تحقق مع حفظ الحقول. إذا فشلت قاعدة البيانات، لا تعرض نجاحًا أو مرجعًا متخيلًا. يكفي أن توضح الرسالة العامة الإجراء المتاح؛ لا تضع الاسم والبريد والوصف والرمز كاملًا في السجلات التشخيصية.
اختبر الرموز الخاطئة والحجم الزائد وorigin غير المسموح والطلبات المتزامنة وفشل التخزين ببيانات اصطناعية. احمِ الإدارة والتصدير أيضًا، لأن مسؤولية البيانات تستمر بعد الحفظ. أكد مدة الاحتفاظ والتنظيف مع المالك قبل فتح النموذج للجمهور.
قائمة عملية
- تحقق من الحقول
- تحقق من Turnstile
- امنع التكرار
مثال واضح: يمكن للطلب المكرر بالمفتاح نفسه استعادة النتيجة دون إنشاء سجل جديد.
حد ينبغي توضيحه: عرض الأداة دون تحقق الخادم غير كاف.