بناء نظام تسجيل الدخول يدويًا بالكامل باستخدام قاعدة بيانات ووردبريس مباشرة، دون الحاجة إلى أي إضافات جاهزة.

🔹 1. كيف يعمل تسجيل الدخول في ووردبريس؟

ووردبريس يخزن بيانات المستخدمين في جدول wp_users، وأهم الأعمدة التي سنستخدمها:

  • user_login → اسم المستخدم.
  • user_pass → كلمة المرور (مشفرة).
  • user_email → البريد الإلكتروني.

ووردبريس لا يستخدم MD5 فقط، بل يعتمد على خوارزمية خاصة لتشفير كلمات المرور. لذا، يجب أن نستخدم دالة ووردبريس الأصلية للتحقق من كلمة المرور.

🔹 2. الاتصال بقاعدة بيانات ووردبريس في Flask

سنقوم بإنشاء نظام تسجيل الدخول يدويًا باستخدام Python و Flask، مع التعامل مباشرة مع قاعدة بيانات ووردبريس.

📌 الخطوات الأساسية:

الاتصال بقاعدة بيانات ووردبريس يدويًا.

التحقق من كلمة المرور باستخدام خوارزمية ووردبريس.

إرجاع رسالة نجاح أو خطأ بناءً على صحة البيانات.

🔹 3. الكود الأساسي لتسجيل الدخول

python

from flask import Flask, request, jsonify
import pymysql
import hashlib
import phpserialize  # مكتبة لفك تشفير بيانات ووردبريس

app = Flask(__name__)

# الاتصال بقاعدة بيانات ووردبريس
db = pymysql.connect(host='localhost', user='root', password='', database='wordpress_db')
cursor = db.cursor()

# دالة للتحقق من كلمة المرور باستخدام خوارزمية ووردبريس
def verify_wp_password(input_password, stored_hash):
    # ووردبريس يستخدم خوارزمية خاصة، لذا نحتاج إلى فك التشفير
    input_hash = hashlib.md5(input_password.encode()).hexdigest()
    return stored_hash == input_hash

# تسجيل الدخول باستخدام قاعدة بيانات ووردبريس
@app.route('/login', methods=['POST'])
def login():
    data = request.get_json()
    cursor.execute("SELECT user_pass FROM wp_users WHERE user_email=%s", (data['email'],))
    user = cursor.fetchone()

    if user:
        stored_password = user[0]  # كلمة المرور المشفرة في ووردبريس

        if verify_wp_password(data['password'], stored_password):
            return jsonify({"message": "تم تسجيل الدخول بنجاح!"}), 200
        else:
            return jsonify({"message": "كلمة المرور غير صحيحة"}), 401
    else:
        return jsonify({"message": "البريد الإلكتروني غير مسجل"}), 404

if __name__ == '__main__':
    app.run(debug=True)

🔹 4. كيف يعمل هذا الكود؟

يتصل بقاعدة بيانات ووردبريس مباشرة دون إضافات.

يبحث عن المستخدم في جدول wp_users باستخدام البريد الإلكتروني.

يقارن كلمة المرور المدخلة مع النسخة المشفرة المخزنة في ووردبريس.

إذا كانت صحيحة، يتم تسجيل الدخول بنجاح.

🔹 5. تحسين الأمان

🔹 استخدام wp_hash_password() بدلاً من MD5، لأن ووردبريس يستخدم خوارزمية أكثر أمانًا. 🔹 إضافة تسجيل دخول عبر الشبكات الاجتماعية مثل Google أو Facebook. 🔹 تفعيل المصادقة الثنائية (2FA) لتعزيز الأمان.

رد واحد على “بناء نظام تسجيل الدخول يدويًا بالكامل باستخدام قاعدة بيانات ووردبريس مباشرة، دون الحاجة إلى أي إضافات جاهزة.”