دورة تعلم لغة PHP مجانا من الصفر الى الاحتراف لربح الاف الدولارات شهريا من البرمجة والتطوير الدرس الثاني عشر - التشفير المعقد لكلمات المرور
تعلم لغة php من الصفر الى الاحتراف مجانا بشكل كامل وبدون خسارة دولار واحد عبر منصتنا و خبرائنا واتقن وظيفة تصميم وتطوير المواقع والسكر بتات عن طريق لغة PHP الشهيرة .
![]() |
تعلم php مجانا |
ابدأ الان في تعلم لغة تطوير التطبيقات البرمجية، ومواقع الويب المختلفة، وواجهات المُستخدم من طرف خادم الويب والكثير من الامور التي تستطيع فعلها عند تعلمك واتقانك لغة PHP .
تعلم PHP مجانًا مع دورتنا الشاملة! ابدأ رحلتك في البرمجة من الصفر واكتشف المهارات التي تحتاجها لبناء تطبيقات مذهلة.
لغة php النصة مفتوحة المصدر والتي تمكنك من تطوير اي سكربت او التعديل عليه ومن برمجة المواقع وربح الاف الدولارات شهريا من تنفيذ متل هذه المشاريع .
يبحث الكثير من رجال الاعمال او الشركات او المؤسسات يوميا على شبكة الانترنت عن مبرمجين لتوظيفهم والاستفادة من خبراتهم بمصالحهم التجارية او عن طريق العمل على الانترنت عن بعد حيث يعمل الالاف في العالم على هذا النحو ويكسب الكثير من هذا المجال الالاف بين التعديل والاضافات والبرمجة الكاملة او تقديم الدعم الفني .
تستخدم لغة البرمجة PHP لمعالجة ملفات صفحات الويب المبرمجة بلغة HTML، أو كما تُعرف بلغة معالجة النص التشعبيّ (Hyper Text Markup Language)، أولاً قبل إرسالها إلى المتصفح وإظهارها للمُستخدم.
PHP هي لغة برمجة خادم مفتوحة المصدر، تُستخدم بشكل رئيسي لتطوير مواقع الويب وتطبيقات الويب. تُعتبر سهلة التعلم ومرنة، مما يجعلها شائعة بين المطورين. تدعم PHP تكامل قواعد البيانات وتوفر مكتبات متعددة، مما يسهل بناء تطبيقات ديناميكية وتفاعلية.
مقدم الدورة المهندس محمد عكور
مستقل ومطور ويب
مرحبًا ، اسمي محمد عكور ، لديّ شهادة فني الكترونيات، أنا مطور ويب متكامل مع أكثر من 10 سنوات من الخبرة ، أنا مستقل: أقوم بإنشاء مواقع الويب والمتاجر وأقدم خدمات التسويق الرقمي.
تعلم التشفير المعقد لكلمات المرور بلغة PHP
تشفير كلمات المرور بشكل آمن أمر ضروري لحماية بيانات المستخدمين. في PHP، يمكنك استخدام دوال متخصصة لتشفير كلمات المرور، مما يجعلها آمنة ضد هجمات التخمين أو السرقة. إليك كيفية القيام بذلك:
1. استخدام password_hash() -
التشفير المعقد لكلمات المرور
تُستخدم دالة password_hash()
لإنشاء تجزئة (hash) آمنة لكلمات المرور. هذه الدالة تستخدم خوارزمية bcrypt
بشكل افتراضي، وهي خوارزمية قوية وآمنة.
مثال على تشفير كلمة مرور:
php$password = "your_secure_password"; // كلمة المرور المراد تشفيرها
$hashedPassword = password_hash($password, PASSWORD_DEFAULT); // تشفير كلمة المرور
echo "كلمة المرور المشفرة: " . $hashedPassword;
2. التحقق من كلمة المرور - التشفير المعقد لكلمات المرور
للتحقق من كلمة المرور المدخلة من قبل المستخدم، يمكنك استخدام دالة password_verify()
لمقارنتها بالتجزئة المخزنة.
مثال على التحقق من كلمة المرور:
php$inputPassword = "your_secure_password"; // كلمة المرور المدخلة من المستخدم
if (password_verify($inputPassword, $hashedPassword)) {
echo "كلمة المرور صحيحة!";
} else {
echo "كلمة المرور غير صحيحة.";
}
3. مميزات password_hash()
و password_verify() -
التشفير المعقد لكلمات المرور
- أمان عالي: تستخدم
bcrypt
أو خوارزميات أخرى قوية بشكل افتراضي، مما يجعلها مقاومة لهجمات التخمين. - تأمين التجزئات: يتم إضافة "salt" بشكل تلقائي لكل كلمة مرور، مما يحسن من أمان التخزين.
- مرونة: يمكنك تغيير الخوارزمية أو إعدادات التجزئة بسهولة دون تغيير الكود.
4. تغيير إعدادات التجزئة - التشفير المعقد لكلمات المرور
إذا كنت ترغب في استخدام خوارزمية أو إعدادات معينة، يمكنك فعل ذلك باستخدام دالة password_hash()
مع خيارات إضافية.
php$options = [
'cost' => 12, // تكلفة التشفير (تحدد صعوبة التشفير)
];
$hashedPassword = password_hash($password, PASSWORD_BCRYPT, $options);
5. تخزين كلمة المرور - التشفير المعقد لكلمات المرور
تأكد من تخزين التجزئة (hash) في قاعدة البيانات وليس كلمة المرور نفسها. يجب أن يبدو شكل قاعدة البيانات كالتالي:
sqlCREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
password_hash VARCHAR(255) NOT NULL
);
6. مثال شامل على التشفير المعقد لكلمات المرور
إليك مثال كامل يجمع بين كل ما سبق:
php<?php
// الاتصال بقاعدة البيانات
$host = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database";
$conn = mysqli_connect($host, $username, $password, $dbname);
if (!$conn) {
die("فشل الاتصال: " . mysqli_connect_error());
}
// إدخال المستخدم
$user = "أحمد";
$password = "your_secure_password";
// تشفير كلمة المرور
$hashedPassword = password_hash($password, PASSWORD_DEFAULT);
// إدراج البيانات
$sql = "INSERT INTO users (username, password_hash) VALUES (?, ?)";
$stmt = mysqli_prepare($conn, $sql);
mysqli_stmt_bind_param($stmt, "ss", $user, $hashedPassword);
mysqli_stmt_execute($stmt);
mysqli_stmt_close($stmt);
// التحقق من كلمة المرور المدخلة
$inputPassword = "your_secure_password"; // كلمة المرور المدخلة من المستخدم
$sql = "SELECT password_hash FROM users WHERE username=?";
$stmt = mysqli_prepare($conn, $sql);
mysqli_stmt_bind_param($stmt, "s", $user);
mysqli_stmt_execute($stmt);
mysqli_stmt_bind_result($stmt, $storedHash);
mysqli_stmt_fetch($stmt);
mysqli_stmt_close($stmt);
// التحقق من كلمة المرور
if (password_verify($inputPassword, $storedHash)) {
echo "كلمة المرور صحيحة!";
} else {
echo "كلمة المرور غير صحيحة.";
}
// إغلاق الاتصال
mysqli_close($conn);
?>
ملاحظات :-
- استخدم
password_hash()
لتشفير كلمات المرور بشكل آمن. - استخدم
password_verify()
للتحقق من كلمات المرور المدخلة. - لا تخزن كلمات المرور بشكل نصي واضح في قاعدة البيانات.