بسم الله الرحمن الرحيم
تشكل كلمة المرور أمراً خطيراً، خاصة وإن كانت كلمة المرور تلك هي كلمة مرور لوحة التحكم، في بعض الأحيان يتمكن القرصان من الوصول إلى كلمة المرور بعدة طرق، ويحاول بعدها إستخدام نموذج تسجيل الدخول، لولوج لوحة التحكم، وبعدها البدء بالتخريب.
من هنا بدأت التفكير في إيجاد طريقة تشتت القرصان عند كتابته كلمة المرور، حتى وإن تمكن من فك تشفيرها بعد الحصول عليها مشفرة، فجاءت فكرة بأن يتم تشفير كلمة المرور مضافاً إليها كلمة أخرى، يتم فحص تشفيرهما في كل مرة تدخلان إلى النموذج.
لتقريب الصورة سنتعامل بالكود، فهذا أفضل لي ولكم، من كثرة الكلام الممل:
نفرض أن لدينا إسم مستخدم admin وكلمة مرور pass، وكلاهما مخزنان في قاعدة البيانات، وأستخدم التشفير MD5 لكلمة المرور
الآن يبدأ العمل:
عند إدخالي كلمة المرور التي أريد فحصها بتلك الموجودة بقاعدة البيانات، أو إدخال كلمة مرور جديدة، أو تغيير كلمة المرور السابقة بجديدة... أقوم بما يلي:
إنتباه أن كود POST هذا غير آمن بهذا الشكل من SQL Injection يمكنك مراجعة http://www.swalif.net/softs/swalif45/softs221801/كود PHP:
$password = $_POST['password'];
$encpassword = md5("MPHP".$password);
طبعاً بعدها أقوم بعمليات المقارنة بين الكلمتين عند محاولة تسجيل الدخول، وبقية الأمور معروفة للجميع.
بهذا الشكل لو تمكن من فك تشفير الكلمة المخزنة بقاعدة البيانات، فلن يستفيد منها بشيء، لأنه سيضاف MPHP مرة أخرى للكملة التي فك تشفيرها، وستشفر مرة أخرى، ولن يصل لنتيجة أبداً، إلا إن وصل للكلمة الأصلية، التي عيّنتها أنت، ولن يصل لها أبداً بإذن الله.
هذه مجرد محاولة لإيجاد طريقة لتأمين كلمة المرور، وإرهاق القرصان
والله تعالى أعلم
أخوكم
MPHP