🔹 1. ما هو نظام تسجيل الدخول؟
نظام تسجيل الدخول يسمح للمستخدمين بإنشاء حساب ثم تسجيل الدخول باستخدام بريدهم الإلكتروني وكلمة المرور. الهدف هو حماية المحتوى بحيث لا يمكن لأي شخص الوصول إليه دون تسجيل الدخول.
🔹 2. كيف يعمل؟
🔹 التسجيل: المستخدم يدخل اسمه، بريده الإلكتروني، وكلمة المرور، ويتم تخزين هذه المعلومات في قاعدة بيانات.
🔹 تسجيل الدخول: المستخدم يدخل بريده وكلمة المرور، ويتم التحقق مما إذا كانت صحيحة.
🔹 الجلسات: بعد تسجيل الدخول، يحصل المستخدم على رمز خاص (Token) يسمح له بالبقاء مسجلًا لفترة معينة.
🔹 3. الأدوات التي سنستخدمها
سنستخدم Python مع Flask لإنشاء النظام، وMySQL لحفظ بيانات المستخدمين. لا تقلق، سأشرح كل خطوة ببساطة!
🔹 4. إنشاء قاعدة بيانات المستخدمين
أولًا، نحتاج إلى مكان لتخزين بيانات المستخدمين. افتح MySQL وأنشئ قاعدة بيانات وجدول:
sql
CREATE DATABASE user_auth;
USE user_auth;
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) UNIQUE NOT NULL,
email VARCHAR(100) UNIQUE NOT NULL,
password VARCHAR(255) NOT NULL
);
هذا الجدول سيحفظ اسم المستخدم، البريد الإلكتروني، وكلمة المرور.
🔹 5. إنشاء تطبيق تسجيل الدخول باستخدام Flask
افتح ملف Python جديد وأضف الكود التالي:
from flask import Flask, request, jsonify
import pymysql
import hashlib # لتشفير كلمات المرور
app = Flask(__name__)
# الاتصال بقاعدة البيانات
db = pymysql.connect(host='localhost', user='root', password='', database='user_auth')
cursor = db.cursor()
# تسجيل مستخدم جديد
@app.route('/register', methods=['POST'])
def register():
data = request.get_json()
hashed_password = hashlib.sha256(data['password'].encode()).hexdigest() # تشفير كلمة المرور
try:
cursor.execute("INSERT INTO users (username, email, password) VALUES (%s, %s, %s)",
(data['username'], data['email'], hashed_password))
db.commit()
return jsonify({"message": "تم التسجيل بنجاح!"}), 201
except:
return jsonify({"message": "البريد الإلكتروني أو اسم المستخدم مستخدم بالفعل"}), 400
# تسجيل الدخول
@app.route('/login', methods=['POST'])
def login():
data = request.get_json()
cursor.execute("SELECT * FROM users WHERE email=%s", (data['email'],))
user = cursor.fetchone()
if user and hashlib.sha256(data['password'].encode()).hexdigest() == user[3]:
return jsonify({"message": "تم تسجيل الدخول بنجاح!"}), 200
else:
return jsonify({"message": "بيانات الدخول غير صحيحة"}), 401
if __name__ == '__main__':
app.run(debug=True)
🔹 6. كيف يعمل هذا الكود؟
✅ عند التسجيل، يتم حفظ كلمة المرور بشكل مشفر حتى لا يتمكن أحد من رؤيتها.
✅ عند تسجيل الدخول، يتم مقارنة كلمة المرور المدخلة مع النسخة المشفرة في قاعدة البيانات.
✅ إذا كانت صحيحة، يحصل المستخدم على رسالة نجاح، وإلا تظهر رسالة خطأ.
🔹 7. تجربة النظام
1️⃣ تشغيل التطبيق: افتح Terminal واكتب:
python your_file.py
2️⃣ تسجيل مستخدم جديد: استخدم Postman أو أي أداة لإرسال طلب POST إلى:
POST /register
{
"username": "mourad",
"email": "mourad@example.com",
"password": "mypassword"
}
3️⃣ تسجيل الدخول:
POST /login
{
"email": "mourad@example.com",
"password": "mypassword"
}
[…] 1. كيف يعمل تسجيل الدخول في […]