تخطَّ إلى المحتوى

المصادقة

يوفر نظام المصادقة في XOOPS التحقق الآمن من المستخدم وإدارة الجلسات والميزات الأمان المتقدمة بما في ذلك المصادقة الثنائية وتكامل OAuth. تغطي هذه الوثيقة تدفقات المصادقة والتنفيذ وأفضل الممارسات.

يتضمن تدفق تسجيل الدخول في XOOPS:

  1. التحقق من صحة المدخلات
  2. التحقق من اسم المستخدم / البريد الإلكتروني
  3. التحقق من كلمة المرور
  4. فحص حالة الحساب
  5. إنشاء جلسة آمنة
  6. تعيين ملفات تعريف الارتباط

التحقق من بيانات اعتماد المستخدم

Section titled “التحقق من بيانات اعتماد المستخدم”
// التحقق من بيانات اعتماد المستخدم
function authenticateUser($username, $password) {
$memberHandler = xoops_getHandler('member');
$user = $memberHandler->getByLogin($username);
if (!$user) {
return false; // المستخدم غير موجود
}
// تحقق من كلمة المرور مقابل التجزئة المخزنة
if (!password_verify($password, $user->getVar('pass'))) {
return false; // كلمة المرور غير صحيحة
}
// تحقق من حالة الحساب
if ($user->getVar('level') == 0) {
return false; // الحساب غير نشط
}
return $user; // المصادقة ناجحة
}
// إنشاء جلسة آمنة بعد تسجيل الدخول
session_start();
session_regenerate_id(true);
// تخزين بيانات المستخدم في الجلسة
$_SESSION['xoops_userid'] = $user->getVar('uid');
$_SESSION['xoops_username'] = $user->getVar('uname');
// تعيين ملف تعريف الارتباط الآمن
setcookie('XOOPSID', session_id(), [
'expires' => time() + 3600,
'path' => '/',
'httponly' => true,
'secure' => isset($_SERVER['HTTPS']),
'samesite' => 'Lax'
]);
  1. استخدم password_hash() و password_verify() لتخزين التحقق من كلمة المرور
  2. حافظ على معلومات سجل الدخول سرية
  3. استخدم HTTPS لجميع عمليات المصادقة
  4. طبق تحديد معدل تسجيل الدخول
  5. سجل محاولات تسجيل الدخول الفاشلة
  6. أعد إنشاء معرف الجلسة بعد تسجيل الدخول
  • إدارة المستخدم
  • الأذونات والمجموعات
  • أفضل ممارسات الأمان

#المصادقة #الجلسات #الأمان #XOOPS #تسجيل-الدخول