اذهب للمحتوى الرئيسي

تحديد المعدل (Rate Limiting)

تحديد المعدل آلية على جانب الخادم تضع سقفًا لعدد الطلبات التي يمكن لعنوان IP أو حساب مستخدم أو رمز مصادقة إرسالها خلال نافذة زمنية محددة، وتُستخدم لمنع حشو الأصوات وهجمات القوة الغاشمة وأشكال الإساءة الآلية الأخرى.

التعريف

تحديد المعدل ضابط لإدارة حركة المرور يفرض حدًا أقصى لمعدل أداء العميل لإجراء معين خلال نافذة زمنية محددة. عندما يتجاوز العميل العتبة، يستجيب الخادم بخطأ — عادةً HTTP 429 Too Many Requests — أو يُسقط الطلبات الزائدة بصمت. تُعاد ضبط النافذة الزمنية إما على جدول ثابت (عداد “نافذة ثابتة”) أو على أساس متدحرج (عداد “نافذة منزلقة”)، حيث توفر النوافذ المنزلقة فرضًا أكثر سلاسة يمنع استغلال الانفجار عند حدود النوافذ.

تحديد المعدل أحد أقدم الضوابط الأمنية للويب وأكثرها انتشارًا. يوصي OWASP (Open Web Application Security Project) به كدفاع أساسي ضد هجمات القوة الغاشمة، وحشو بيانات الاعتماد، وإساءة استخدام النماذج الآلية. تقدم Cloudflare تحديد المعدل كميزة ضمن منتج WAF الخاص بها، مع قواعد قابلة للتهيئة حسب مسار URL وطريقة HTTP وعنوان IP وقيمة الكوكي ورأس الطلب. يقدم AWS WAF وAzure Front Door وGoogle Cloud Armor قدرات معادلة.

كيف يعمل تحديد المعدل

يحتفظ محدد المعدل بعداد لكل معرّف عميل فريد — عادةً عنوان IP المصدر، لكن أحيانًا معرّف حساب أو مفتاح API أو كوكي جلسة. عند وصول طلب، يفحص الخادم القيمة الحالية للعداد لذلك المعرف. إذا كان العداد دون العتبة، يُسمح بالطلب ويُزاد العداد. إذا كان العداد عند العتبة أو فوقها، يُرفض الطلب باستجابة 429 أو يُعالج وفق السياسة المُهيأة.

يُنفَّذ تخزين العداد عادةً في Redis أو Memcached لتمكين عمليات بحث سريعة وموزعة عبر مثيلات خادم متعددة — متطلب للتطبيقات الموسّعة أفقيًا. تصف وثائق Cloudflare فرض تحديد المعدل على مستوى شبكة الحافة، حيث تُطبَّق القواعد قبل وصول الطلبات إلى الخادم الأصلي، فتُوزَّع تخفيف الحمل على بنية Cloudflare العالمية.

تشمل معاملات تحديد المعدل الشائعة في سياق المسابقات:

يمكن تطبيق تحديد المعدل أيضًا احتماليًا — مثلًا، بتطبيق حدود أكثر صرامة على الطلبات التي تصل بإشارات سلوكية أو بصمات تشير إلى أتمتة، مع تطبيق حدود أكثر تساهلًا على الجلسات بمؤشرات بشرية عالية الثقة.

أين تصادفه

تحديد المعدل ضابط منتشر في كل منصة ويب فعليًا. يصادف مشغلو المسابقات الأكثر مباشرة عند ثلاث نقاط: نقطة نهاية إرسال الصوت، ونموذج تسجيل الحساب، و(إن كان تأكيد البريد مطلوبًا) خط أنابيب إرسال البريد. تصادف تكاملات المسابقات المدفوعة بـAPI حدود المعدل على نقاط نهاية API للمنصة.

للمستخدمين النهائيين، يظهر تحديد المعدل أوضح ما يظهر كخطأ HTTP 429 أو رسالة خاصة بالمنصة مثل “لقد صوّت بالفعل” أو “يرجى الانتظار قبل التصويت مرة أخرى”. تنفذ كثير من المنصات تحديد معدل ناعم — تقبل الطلب لكنها تُسقط النسخة المكررة بصمت — لتجنب الإشارة إلى وجود الضابط للمسيئين المحتملين.

تشير وثائق تحديد المعدل في WAF لـCloudflare إلى أن قواعد تحديد المعدل يمكن تعيينها للتسجيل دون حظر خلال مرحلة تحليل، ثم التحويل إلى الحظر بمجرد معايرة العتبة المناسبة. يساعد هذا النهج المرحلي مشغلي المسابقات في تجنب الحظر الخاطئ لطفرات التصويت المشروعة.

أمثلة عملية

تُهيّئ مسابقة جوائز مدوني الطعام نظامها التصويتي بحد معدل لكل IP خلال 24 ساعة. خلال الأسبوع الأخير من المسابقة، يحاول ناخب إرسال 50 صوتًا في تتابع سريع من نفس عنوان IP السكني. يُقبل الصوت الأول؛ وتتلقى 49 طلبًا تالية استجابة 429. يعرض متصفح الناخب رسالة تشرح حد المرة الواحدة في اليوم.

تستخدم منصة مسابقات SaaS تستضيف مئات المسابقات المتزامنة تحديد المعدل من Cloudflare على حافة الشبكة. يُخنق بوت يستهدف مسابقة واحدة بـ10,000 طلب في الدقيقة إلى حد أقصى 60 طلبًا في الدقيقة على الحافة، ولا تصل الطلبات الزائدة أبدًا إلى الخادم الأصلي. تُظهر سجلات الخادم الأصلي حركة المرور المخنوقة فقط، ويبقى استخدام CPU على جانب الخادم دون تأثر.

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

مفاهيم ذات صلة

كشف الشذوذ مكمل أكثر تطورًا لتحديد المعدل: حيث يفرض تحديد المعدل عتبات صارمة، يحدد كشف الشذوذ الانحرافات عن خط أساس سلوكي متعلَّم، فيلتقط حملات الاحتيال التي تبقى أسفل الحدود الثابتة بقليل. يصبح تنوع ASN ذا صلة عند تطبيق حدود المعدل لكل IP وعندما يوزع فاعل سيئ الطلبات عبر عديد من عناوين IP للبقاء تحت العتبات لكل IP — يكشف التحليل على مستوى ASN النمط التجميعي. يقدم reCAPTCHA v3 درجة مخاطر سلوكية يمكن دمجها مع تحديد المعدل لتطبيق حدود أكثر إحكامًا انتقائيًا على الجلسات التي تُسجَّل كآلية محتملة.

القيود والملاحظات

تحديد المعدل المعتمد على IP أقل فعالية في بيئات NAT على مستوى الناقل، حيث قد يمثل عنوان IP عام واحد مئات من مشتركي الجوال الشرعيين. حد معدل لكل IP بصوت واحد لكل 24 ساعة سيمنع معظم هؤلاء المشتركين من التصويت بشكل خاطئ. لذلك يجب أن يُطبَّق تحديد المعدل في منصات المسابقات بطبقات مع إزالة التكرار المعتمدة على الحساب أو الكوكي عندما تكون الجماهير المحمولة مهمة. إضافةً إلى ذلك، حدود المعدل المعينة بعدوانية مفرطة قد تُهدر تجربة الناخبين الشرعيين الذين يصلون من شبكات مشتركة كحرم الجامعات والمكاتب الشركية وبقع Wi-Fi العامة الكبيرة.

من المدونة — أدلة ودراسات حالة

أدلة عملية وتحليلات تقنية عميقة ودراسات حالة مجهلة.60+ مقالة. الاختيار يدور.

Victor Williams — founder of Buyvotescontest.com
Victor Williams
متصل · يجيب عادة خلال 5 دقائق

مرحباً 👋 — أرسل رابط المسابقة وسنزوّدك بعرض السعر خلال ساعة. لا حاجة لبطاقة بعد.