- بواسطة x32x01 ||
الموضوع ده للتوعية والحماية فقط، مش علشان تخرب موقع أو تبوّظ نظام تسجيل
الفكرة إنك كمطوّر تفهم المشكلة وتحلّها صح
مشكلة تكرار التسجيل بنفس الإيميل
من أكتر المشاكل اللي بتقابل أي مطوّر مواقع هي إن المستخدم يقدر يعمل أكتر من حساب بنفس الإيميل والسبب الأساسي هنا هو Gmail.
جوجل بتتعامل مع النقطة (.) في الإيميل على إنها ملهاش أي قيمة، يعني:
لو إيميلك:
example@gmail.comتقدر تستخدم:
e.xample@gmail.comex.ample@gmail.comexam.ple@gmail.come.x.a.m.p.l.e@gmail.com
بس المشكلة إن قاعدة البيانات بتعتبرهم إيميلات مختلفة وبتعدي من الـ Validation عادي جدًا.
ليه المشكلة دي خطيرة؟
- سبام حسابات

- استهلاك موارد السيرفر
- استغلال العروض المجانية
- تدمير نظام الإحالات أو البونص
الطريقة الصح لمنع تكرار الحسابات
خلينا نحل المشكلة خطوة خطوة كمطوّر
منع الإيميلات المؤقتة (Temp Email)
فيه مواقع كتير بتدي إيميلات مؤقتة وهمية، ودي مصيبة لو سيبتها مفتوحة الحل؟
استخدم Package جاهزة فيها قاعدة بيانات ضخمة بالإيميلات المؤقتة
الميزة؟
- أكتر من 135,000 دومين إيميل مؤقت
- بتتحدث باستمرار
تحديث القاعدة تلقائي
تقدر تحدثها أسبوعيًا باستخدام Cron Job: PHP:
$schedule->command('disposable:update')->weekly();
إزالة النقاط من إيميلات Gmail
دي أهم خطوة قبل ما تعمل Validation أو تخزين في قاعدة البيانات، لازم تنظّف الإيميل.
الفكرة
أي إيميل Gmail:- شيل منه كل النقاط (.)
- خزّنه في الداتابيز بالشكل النضيف
مثال بكود PHP
PHP:
$email = strtolower($request->email);
if (str_contains($email, '@gmail.com')) {
[$name, $domain] = explode('@', $email);
$name = str_replace('.', '', $name);
$email = $name . '@' . $domain;
} example@gmail.come.xa.mple@gmail.com
حماية الموقع من البوتات
حتى لو قفلت الإيميلات، البوتات لسه خطر الحل البسيط والفعّال:
- Google reCAPTCHA
- Cloudflare Turnstile
- أي Robot Detector محترم
- تسجيل آلي
- سبام
- هجمات Bruteforce
الخلاصة
لو عندك نظام تسجيل:- امنع الإيميلات المؤقتة
- نظّف إيميلات Gmail
- فعّل حماية ضد البوتات
وده أساس أي موقع ناجح