لو موقعك فيه تسجيل دخول يبقى لازم تتوقع إن في هاكرز ممكن يحاولوا يخمنوا الباسوردات باستخدام Brute Force Attack وهي طريقة بتعتمد على تجربة عدد ضخم من كلمات المرور بسرعة لحد ما يوصلوا للصح. وده لو حصل حسابات المستخدمين ممكن تتسرق عادي…
طيب إزاي نمنع الهجمات دي ونحمي الموقع؟ 🤔
1️⃣ تفعيل Rate Limiting:
أول وأهم خطوة إنك تمنع المستخدم أو البوت من محاولة تسجيل الدخول عدد مرات كبير في وقت قصير.
هتستخدم مكتبة زي express-rate-limit في API Routes:
بعدها ضيفها على API Route الخاصة بتسجيل الدخول:
2️⃣ استخدم reCAPTCHA:
الهاكرز بيستخدموا بوتات عشان ينفذوا الهجوم فالحل إنك تضيف Google reCAPTCHA عشان تتأكد إن المستخدم إنسان مش بوت.
سجل في reCAPTCHA وخد الـ Site Key و Secret Key.
ضيف في صفحة تسجيل الدخول، ولما المستخدم يضغط Login، ابعت التوكن للسيرفر وتحقق منه.
3️⃣ اقفل الحساب بعد عدد محاولات معين:
لو حد حاول يدخل بكلمة سر غلط أكتر من 5 مرات اقفل الحساب مؤقتا:
لما المستخدم يغلط خزن عدد المحاولات في Database.
ـ لو عدى الحد المسموح اعمل Lock للحساب لمدة معينة وخلي فيه إمكانية لاسترجاعه عن طريق الإيميل.
4️⃣ استخدم 2FA (المصادقة الثنائية):
حتى لو حد قدر يسرب الباسورد المصادقة الثنائية (2FA) هتمنعه من الدخول
فعل تسجيل الدخول باستخدام OTP على الإيميل أو تطبيق المصادقة زي Google Authenticator.
ـ NextAuth.js بيدعم 2FA بسهولة ممكن تضيفها في إعدادات المستخدم…
(في المقال الجاي هشرحلك إزاي تضيف Two-Factor Authentication (2FA)) 😀
5️⃣ سجل محاولات تسجيل الدخول الغريبة:
خلي فيه Logs لأي محاولة دخول فاشلة ولو لقيت عدد غير طبيعي من المحاولات من IP معين احظره تلقائيا بالـFirewall.
وبكده بقى عندك تأمن تسجيل الدخول في موقعك في Next.js ضد Brute Force Attack, لو عندك أي استفسار، اكتب في الكومنتات..💛
قسم التعليقات