- بواسطة x32x01 ||
🛑 تنبيه مهم قبل ما نبدأ
الموضوع ده للتوعية والحماية فقط، مش علشان تخرب موقع أو تبوّظ نظام تسجيل 👌
الفكرة إنك كمطوّر تفهم المشكلة وتحلّها صح 🔐
والسبب الأساسي هنا هو Gmail.
جوجل بتتعامل مع النقطة (.) في الإيميل على إنها ملهاش أي قيمة، يعني:
لو إيميلك:
تقدر تستخدم:
بس المشكلة إن قاعدة البيانات بتعتبرهم إيميلات مختلفة وبتعدي من الـ Validation عادي جدًا.
الحل؟
استخدم Package جاهزة فيها قاعدة بيانات ضخمة بالإيميلات المؤقتة 👇
🔗 https://github.com/Propaganistas/Laravel-Disposable-Email
الميزة؟
كده ضمنت إن أي تسجيل بإيميل وهمي هيتمنع 🚫
قبل ما تعمل Validation أو تخزين في قاعدة البيانات، لازم تنظّف الإيميل.
كده:
الحل البسيط والفعّال:
وده أساس أي موقع ناجح 🔥
الموضوع ده للتوعية والحماية فقط، مش علشان تخرب موقع أو تبوّظ نظام تسجيل 👌
الفكرة إنك كمطوّر تفهم المشكلة وتحلّها صح 🔐
❌ مشكلة تكرار التسجيل بنفس الإيميل
من أكتر المشاكل اللي بتقابل أي مطوّر مواقع هي إن المستخدم يقدر يعمل أكتر من حساب بنفس الإيميل 😤والسبب الأساسي هنا هو 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 جاهزة فيها قاعدة بيانات ضخمة بالإيميلات المؤقتة 👇
🔗 https://github.com/Propaganistas/Laravel-Disposable-Email
الميزة؟
- أكتر من 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
- فعّل حماية ضد البوتات
وده أساس أي موقع ناجح 🔥