كشف الاحتيال عند الحافة: Cloudflare Workers + tracio.ai
شغّل التحقق من بصمة الجهاز داخل Cloudflare Workers قبل وصول الطلبات إلى خادم الأصل. قرارات احتيال عند الحافة في أقل من 5 ملّي ثانية.
يحدث كشف الاحتيال التقليدي عند طبقة التطبيق: يصل الطلب إلى خادمك، فتستعلم من واجهة برمجة تطبيقات كشف الاحتيال، وتنتظر الاستجابة، ثم تقرّر السماح أو الحظر. تضيف رحلة الذهاب والإياب هذه زمن استجابة يتراوح بين 50 و200 ملّي ثانية لكل طلب — وهو مقبول لتحميل الصفحات، لكنه مؤلم لنقاط نهاية واجهات برمجة التطبيقات ونداءات AJAX والتفاعلات في الزمن الحقيقي.
ماذا لو أمكنك اتخاذ قرار الاحتيال قبل أن يصل الطلب إلى خادم الأصل لديك؟ هذا ما تتيحه الحوسبة عند الحافة، وCloudflare Workers هي المنصة التي نستخدمها لعرض هذا النمط.
البنية
يتكوّن الإعداد من ثلاثة مكوّنات: حزمة تطوير JS الخاصة بـ tracio.ai (@tracio/sdk) التي تعمل في المتصفح، وCloudflare Worker الذي يقع بين العميل وخادم الأصل لديك، وويب هوكس (webhooks) موقّعة من tracio.ai تنقل تحليل الإشارات الكامل إلى الواجهة الخلفية لديك.
يعمل التدفّق على النحو التالي: تجمع حزمة تطوير JS إشارات الجهاز وترسلها إلى tracio.ai أثناء تحميل الصفحة، فتعيد معرّف زائر (visitorId) إلى المتصفح. تتلقّى واجهتك الخلفية نتيجة التعريف الكاملة — تصنيف الروبوتات، والإشارات الذكية، ودرجة الثقة — عبر ويب هوك موقّع، وتكتب الحُكم في تخزين مؤقت عند الحافة. يضمّن المتصفح معرّف الزائر في طلبات واجهة برمجة التطبيقات اللاحقة (عبر ترويسة أو ملف تعريف ارتباط). يعترض Cloudflare Worker كل طلب، ويبحث عن الحُكم المخزَّن مؤقتًا لذلك المعرّف، ويتخذ قرار سماح/حظر في أقل من 5 ملّي ثانية.
تنفيذ الـ Worker
يحتفظ الـ Worker بتخزين مؤقت خفيف لأحدث نتائج التحقق من الأجهزة باستخدام تخزين KV من Cloudflare، وتملؤه واجهتك الخلفية بمجرد وصول ويب هوكس tracio.ai الموقّعة. عندما يصل طلب يحمل ترويسة معرّف الزائر، يفحص الـ Worker التخزين المؤقت. إذا كان الحُكم مخزَّنًا وكان الزائر نظيفًا (درجة روبوت منخفضة، لا شبكة افتراضية خاصة VPN، درجة ثقة فوق العتبة)، يمرّ الطلب فورًا. أما إذا لم يكن أي حُكم مخزَّنًا بعد، فيطبّق الـ Worker سياستك الاحتياطية — التمرير بحدّ معدّل متحفّظ، أو فرض تحدٍّ — إلى أن يلحق التخزين المؤقت المدفوع بالويب هوكس بالركب.
الفكرة الجوهرية هي أن تخزين التحقق المؤقت يُملأ استباقيًا. يُطلق أول تحميل للصفحة جمع الإشارات ويخزّن النتيجة مؤقتًا. تصيب جميع نداءات واجهة برمجة التطبيقات اللاحقة من ذلك الزائر التخزينَ المؤقت — من دون أي رحلة ذهاب وإياب إلى tracio.ai. مدّة صلاحية التخزين المؤقت (TTL) قابلة للضبط؛ ونوصي بـ 5 دقائق لنقاط النهاية عالية الأمان و30 دقيقة للمحتوى العام.
أرقام الأداء
قِسنا أداء هذه البنية مع عميل يعالج 50٬000 طلب في الدقيقة عبر Cloudflare Workers. النتائج:
معدّل إصابة التخزين المؤقت: 94٪ (معظم الطلبات تأتي من زوّار حمّلوا صفحة بالفعل). زمن قرار الحافة (إصابة التخزين المؤقت): وسيط 1.2 ملّي ثانية، و3.8 ملّي ثانية عند p99. زمن قرار الحافة (فوات التخزين المؤقت): وسيط 45 ملّي ثانية (يشمل نداء واجهة برمجة التطبيقات إلى tracio.ai). توفير زمن استجابة الأصل: وسيط 120 ملّي ثانية لكل طلب (بإلغاء فحص الاحتيال على جانب الخادم).
يعني معدّل الإصابة البالغ 94٪ أن 94٪ من قرارات الاحتيال تحدث في أقل من 4 ملّي ثانية عند الحافة، دون أي مشاركة من الأصل. أما الـ 6٪ المتبقية فهي طلبات الزيارة الأولى التي تتطلّب رحلة ذهاب وإياب كاملة عبر واجهة برمجة التطبيقات.
استراتيجيات الحظر
يدعم الـ Worker ثلاث استراتيجيات حظر، قابلة للضبط لكل مسار:
الحظر الصارم: إعادة الرمز 403 فورًا للزوّار عالي الخطورة (درجة روبوت > 0.9، إطار أتمتة معروف). الحظر الليّن: إضافة ترويسات X-Tracio-Risk وترك القرار للأصل. هذا مفيد عندما تريد سياقًا على مستوى التطبيق لاتخاذ القرار. التحدّي: إعادة توجيه الزوّار المشبوهين (درجة روبوت متوسطة، شبكة افتراضية خاصة مُكتشَفة) إلى صفحة تحدٍّ تتطلّب تحقّقًا إضافيًا.
نوصي بالبدء بالحظر اللين في الإنتاج، ومراقبة توزيع الخطورة لمدة أسبوع، ثم تمكين الحظر الصارم للحالات الواضحة (روبوتات معروفة، متصفّحات بلا واجهة، أتمتة عالية الثقة).
تحليل التكلفة
يعتمد تسعير Cloudflare Workers على عدد الطلبات وزمن الحوسبة. عند 50 ألف طلب في الدقيقة (2.16 مليار شهريًا)، تبلغ تكلفة الـ Worker نحو 500 دولار شهريًا. قارن ذلك بتوفير زمن الاستجابة: إلغاء 120 ملّي ثانية من فحص الاحتيال على جانب الأصل يخفّض استهلاك وحدة المعالجة المركزية للخادم بنسبة 15–20٪، وهو ما يوفّر عادةً أكثر من تكلفة الـ Worker في الحوسبة.
القيمة الحقيقية تكمن في منع الاحتيال: اصطياد الروبوتات والطلبات الاحتيالية قبل أن تستهلك موارد الأصل واتصالات قاعدة البيانات ونداءات واجهات برمجة التطبيقات اللاحقة. قلّص أحد العملاء عدد خوادم الأصل لديه من 12 إلى 8 بعد تطبيق كشف الاحتيال المستند إلى الحافة — إذ إن الروبوتات التي كانت تستهلك 30٪ من حوسبته لم تصل إلى الأصل أبدًا.