النتائج 1 إلى 8 من 8

الموضوع: الدورة الإحترافية لجدول البيانات المؤقتة _ ت - نسيت كلمة المرور

  1. #1
    عضو نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    169

    الدورة الإحترافية لجدول البيانات المؤقتة _ ت - نسيت كلمة المرور



    بإسم الله الرحمان الرحيم


    وَمَا كَانَ لِنَفْسٍ أَنْ تَمُوتَ إِلاَّ بِإِذْنِ اللَّه كِتَابًا مُّؤَجَّلاً وَمَن يُرِدْ ثَوَابَ الدُّنْيَا نُؤْتِهِ مِنْهَا وَمَن يُرِدْ ثَوَابَ الآخِرَةِ نُؤْتِهِ مِنْهَا وَسَنَجْزِي الشَّاكِرِينَ
    سورة آل عمران الأية 145

    السلام عليكم و رحمة الله و بركاته
    و أهلا بكم إلى جزء جديد من الدورة أتمنى أن ينال إستحسانكم

    كما هو واضح من العنوان سنتطرق في هدا الجزء من الدورة إلى خاصية برمجة (نسيت كلمة المرور)
    و التي تفيد الاعضاء في إسترجاع كلمات المرور الخاصة بهم
    و الحقيقة أن كلمة المرور المنسية لا يمكن إسترجاعها بسبب عدم وجود فك شفرة md5
    لكن بما أن العضو مسجل ببريد إلكتروني فيمكن الإتصال به بريديا و التحقق من رغبتة في الحصول على كلمة مرور بديلة عن الكلمة المنسية

    1 - خطة إسترجاع كلمة المرور
    عند النقر على رابط (نسيت كلمة المرور) يتم نقل العضو إلى نمودج يطلب منه إدخال إسم المستخدم الدي قام بالتسجيل به
    عند إدخال إسم المستخدم يتم إرسال بريد إلى عنوانه الإلكتروني الدي قام بالتسجيل به يحتوي هدا البريد على رابط إدا ضغط عليه يتم تكوين كلمة مرور جديدة و إرسالها إلى بريده الإلكتروني

    2 - الخطة البرمجية
    سنحتاج إفتراضيا إلى ثلاث صفحات
    _ صفحة نمودج كتابة إسم المستخدم المراد إسترجاع كلمة المرور الخصة به
    _ صفحة إرسال بريد الحقق إلى البريد الإلكتروني
    _ صفحة إنشاء كلمة مرور جديدة و إرسالها إلى البريد الإلكتروني للمستخدم

    جدول البيانات الؤقتة سنستخدمه لحفظ الكود السري المستخدم في التحقق و يتم إستدعائه إلى الصفحة عن طريق تمريره إلى مصفوفة GET

    3 - البرمجة
    الأمور البديهية و المتطلبة سابقا لن أقوم بشرحها كجدول الأعضاء فهدا من المفترض أن يكون لديك مسبقا
    ولكن سأعمل على أمثلة جاهزة

    جدول الأعضاء إفتراضيا بهده البنية


    و الإسم الإفتراضي للجدول هو azizsoft_usr

    أول ما سنقوم ببرمجته هو نمودج طلب كلمة المرور
    و هو نمودج بسيط جدا يحتوي على حقل واحد هو خقل غسم المستخدم و زر الإرسال
    و الإسم الإفتراضي للحقل هو usrname


    و الصفحة التي ستستقبل النمودج هي p_pass.php

    <<لست مضطرا لإستخدام هده الأسماء بالظبط للملفات و المتغيرات لكن إحرص على أن يكون الإسم هو نفسه في جميع الخطوات>>

    لنبدأ ببرمجة الملف الدي سيستقبل إسم المستخدم من النمودج و هو p_pass.php

    تخزين إسم المستخدم القادم من النمودج في متغير و الإستعلام عنه في قاعدة البيانات
    كود PHP:
    $usrname $_POST['usrname'];
    $query=mysql_query("SELECT usrname,email FROM `azizsoft_usr` WHERE `usrname`='$usrname'"); 
    ربما يقوم العضو بإدخال إسم مستخدم غير موجود لدا لابد من التحقق من أن الإسم المدخل موجود في قائمة الأعضاء
    كود PHP:
    if(mysql_num_rows($query)!=1){
    die(
    "خطأ .إسم المستخدم الدي أدخلته غير صحيح");

    بعد تجاوز هدا الشرط نأتي إلى إستخراج البريد الإلكتروني الدي إشترك به العضو و دلك بهدف إرسال كود التحقق
    لهدا الغرض نستخدم دالة mysql_fetch_array التي ستضع لنا محتويات السجل في مصفوفة
    كود PHP:
    $result mysql_fetch_array($query); 
    تم إستخراج البريد الإلكتروني من الحقل email
    كود PHP:
    $email $result['email']; 
    لنتدكر جيدا
    البريد الإلكتروني وضعناه في متغير
    لكن مدا سنرسل له؟؟
    الجواب بسيط

    رابط صفحة ليكن إسمها إفتراضيا هو c_pass.php
    و هده الصفحة يجب أن تكون مرتبط عن طريق مصفوفة GET بـــ
    إسم المستخدم و
    كود عشوائي سري هو كود التحقق من رغبة العضو في إنشاء كلمة مرور جديدة
    هدا الكود سنحتفظ به في جدول البيانات المؤقتة

    لننشئ اولا الكود العشوائي عن طريق الدالة التالية
    كود PHP:
    function rand_string($num_chars){
    $chars=array("a","A","b","8","B","c","C","9","-","d","D","0","e","1","E","f","F","g","G","h","2","H","i","I","j","J","k","3","K","7","l","_","L","m","M","n","N","o","O","p","P","q","Q","r","R","s","4","S","t","T","u","U","6","v","V","w","W","x","5","X","y","Y","z","Z",);
    $string=array_rand($chars,$num_chars);
        foreach(
    $string as $s){
        @
    $ret.=$chars[$s];
        }return 
    $ret;

    هده الدالة إستخدمناها في الجزء السابق و طريقة عملها معروفة
    لننشئ الكود السري بواسطتها
    كود PHP:
    $crc rand_string(30); 
    هناك نقطة مهمة يجب عدم إغفالها
    الكود السري الدي ننشئه يجب أن يكون محدودا في فترة صلاحيته و إلا فإن المستوى الأمني للموقع سيكون في الحضيض
    لنجعله إدا صالحا للإستخدام لمدة اسبوع إنطلاقا من تاريخ إنشائه
    مع العلم أن 24 ساعة هي فترة صلاحية كافية
    عدد التواني في الاسبوع الواحد هو 604800
    إدن
    كود PHP:
    $time time()+604800












    لدينا إلى حد الان 4 متغيرات جاهزة و هي كالتالي
    البريد الإلكتروني $email
    إسم المستخدم $usrname
    الكود العشوائي السري $crc
    تاريخ الصلاحية $time

    إدا أردنا حفظ هده المعلومات في جدول البيانت المؤقتة فيجب أن نفرق بينها و بين المدخلات السابقة عن طريق الحقل tmp_type
    لنجعل قيمة هدا الحقل هنا هي p_pass

    ملاحضة أخرى . حقل tmp_ip لن نحتاجه هنا إد لا دور له لدا سنتجاهله

    أضن أننا الان في وضع مناسب لإدخال البيانات إلى الجدول azizsoft_tmp
    كود PHP:
    mysql_query("INSERT INTO `azizsoft_tmp`(`tmp_type`,`tmp_crc`,`tmp_time`,`tmp_usr`)VALUES('p_pass','$crc','$time', '$usrname');"); 
    طبعا لا ننسى الرسالة الموجهة للبريد الإلكتروني $email
    و أهم ما يجب أن تتوفر عليه الرسالة هو رابط الصفحة التي ستقوم بإنشاء الباسوورد الجديد
    إسم الصفحة إفتراضيا هو c_pass.php
    و يجب أن يتم إرساله كما دكرنا سابقا مرتبطا بعنصرين
    الكود العشوائي السري $crc و إسم المستخدم $usrname
    إدن
    كود:
     
    "c_pass.php?crc=".$crc."&usr=".$usrname
    و لا ننسى ربط الصفحة بالمسار الكامل لها تم دمجها في رسالة واضحة اللهجة مفهومة المقصد إلى العضو

    كود PHP:
    $msg "بإسم الله الرحمان الرحيم
    السلام عليكم و رحمة الله و بركاته
    أنت أو شخص اخر قام بطلب كلمة المرور للعضوية "
    .$usrname.
     
    لإستعادة كلمة المرور يرجى الضغط هلى الرابط التالي
    http://_______/c_pass.php?crc="
    .$crc."&usr=".$usrname."
    إدا لم تكن أنت من طلب كلمة المرور يمكنك حدف هده الرسالة
    مع تحيات إدارة الموقع"

    تم نأتي إلى عملية إرسال الرسالة إلى البريد الإلكتروني $email عن طريق دالة mail
    كود PHP:
    mail($email"رابط إسترجاع كلمة المرور""$msg""From: azizsoft <azizsoft@gmail.com>\r\n"); 
    و لا ننسى إعلام المستخدم أن دلك تم بنجاح
    كود PHP:
    echo "تم إرسال رابط إسترجاع كلمة المرور الى بريدك الإلكتروني"
    إنتهينا من برمجة ملف إنشاء رابط إسترجاع كلمة المرور
    أما الصفحة التي يتم إرسالها بواسطة الملف فهي بإسم c_pass.php كما رأينا سابقا و سنبدأ على بركة الله ببرمجتها





















    لنبدأ بحفظ محتوى مصفوفة GET في متغيرات
    كود PHP:
    $usr $_GET['usr'];
    $crc $_GET['crc']; 
    أيضا نحتاج إلى التاريخ الحالي لمعرفة إدا ما كان الرابط ما زال صالحا أم لا
    كود PHP:
    $time time(); 
    إستعلام جدول البيانات المؤقتة بنائا على المتغيرات السابقة
    كود PHP:
    $query=mysql_query("SELECT * FROM `azizsoft_tmp` WHERE `tmp_type`='p_pass' and `tmp_crc`='$crc' and `tmp_usr`='$usr' and `tmp_time`>'$time'"); 
    إدا لم يرجع الإستعلام سجلا في قاعدة البيانات بالمتغيرات السابقة فبالتأكيد الرابط خاطئ و يجب ان نتوقف عند هدا الحد مخبرين المستخدم بدلك
    كود PHP:
    if(mysql_num_rows($query)!=1){
    die(
    "رابط خاطئ");

    إدا تم إجتياز الشرط بنجاح نأتي إلى إستخراج البريد الإلكتروني للمستخدم $usr من جدول الأعضاء
    كود PHP:
    $query2=mysql_query("SELECT usrname,email FROM `azizsoft_usr` WHERE `usrname`='$usr'");
    $result2 mysql_fetch_array($query2); 
    $email $result2['email']; 
    الأن لدينا البريد الإلكتروني و إسم المستخدم
    لم يبق لنا إلا تحديث كلمة المرور الخاصة به و إرسالها إليه عن طريق البريد

    لا تنس دكر الله





    تم لا تنس أن كلمة المرور يجب أن يتم إرسالها إلى البريد بسياقها العادي و تحديتها في جدول الأعضاء مشفرة بـــ md5

    لدا سنحتاج إلى استخراج كلمة المرور عشوائية من دالة rand_string و تشفيرها بــ md5

    كود PHP:
    $newpass rand_string(8);
    $newpassmd5 md5($newpass); 
    المتغير $newpass هون كلمة المرور الدي يتوجب علينا إرسالها إلى البريد و $newpassmd5 هو تشفير كلمة المرور الدي يجب أن يتم وضعه في حقل كلمة المرور للعضو

    تحديث كلمة المرور الخاصة بالعضو في جدول الأعضاء طبعا يجب أن تكون مشفرة
    كود PHP:
    mysql_query("UPDATE `azizsoft_usr` SET `password`='$newpassmd5' WHERE `usrname`='$usr';"); 
    تجهيز الرسالة ووضع كلمة المرور الجديدة فيها
    كود PHP:
    $msg "بإسم الله الرحمان الرحيم
    السلام عليكم و رحمة الله و بركاته
    تم إنشاء كلمة مرور جديدة لعضويتك
    كلمة المرور الجديدة هي
    "
    .$newpass."
    مع تحيات إدارة الموقع"

    إرسال الرسالة
    كود PHP:
    mail($email"كلمة المرور الجديدة""$msg""From: azizsoft <azizsoft@gmail.com>\r\n"); 
    إعلام المستخدم بإرسال الرسالة
    كود PHP:
    echo "تم إرسال كلمة المرور الجديدة إلى بريدك الإلكتروني<br>شكرا"
    إعدروني على اي تقصير في الشرح و إدا عندكم اي ملاحضات حول الموضوع لا تبخلو بها و جزاكم الله خيرا

    و السلام عليكم و رحمة الله و بركاته





    الصور المرفقة الصور المرفقة    
    التعديل الأخير تم بواسطة azizsoft ; 08-12-2008 الساعة 03:10 AM


  2. #2
    عضو نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    169


    الشرح بواسطة عزيز سوفت
    حقوق النشر لكل مسلم

    كود الموضوع للمنتديات
    كود HTML:
     بإسم الله الرحمان الرحيم
     
     
    [COLOR=#993300][FONT=Andalus]وَمَا كَانَ لِنَفْسٍ أَنْ تَمُوتَ إِلاَّ بِإِذْنِ اللَّه كِتَابًا مُّؤَجَّلاً وَمَن يُرِدْ ثَوَابَ الدُّنْيَا نُؤْتِهِ مِنْهَا وَمَن يُرِدْ ثَوَابَ الآخِرَةِ نُؤْتِهِ مِنْهَا وَسَنَجْزِي الشَّاكِرِينَ[/FONT][/COLOR]
    [FONT=Arabic Transparent][SIZE=4]سورة آل عمران الأية 145[/SIZE][/FONT]
     
    السلام عليكم و رحمة الله و بركاته
    و أهلا بكم إلى جزء جديد من الدورة أتمنى أن ينال إستحسانكم
     
    كما هو واضح من العنوان سنتطرق في هدا الجزء من الدورة إلى خاصية برمجة (نسيت كلمة المرور)
    و التي تفيد الاعضاء في إسترجاع كلمات المرور الخاصة بهم
    و الحقيقة أن كلمة المرور المنسية لا يمكن إسترجاعها بسبب عدم وجود فك شفرة md5
    لكن بما أن العضو مسجل ببريد إلكتروني فيمكن الإتصال به بريديا و التحقق من رغبتة في الحصول على كلمة مرور بديلة عن الكلمة المنسية
     
    1 - خطة إسترجاع كلمة المرور
    عند النقر على رابط (نسيت كلمة المرور) يتم نقل العضو إلى نمودج يطلب منه إدخال إسم المستخدم الدي قام بالتسجيل به
    عند إدخال إسم المستخدم يتم إرسال بريد إلى عنوانه الإلكتروني الدي قام بالتسجيل به يحتوي هدا البريد على رابط إدا ضغط عليه يتم تكوين كلمة مرور جديدة و إرسالها إلى بريده الإلكتروني
     
    2 - الخطة البرمجية
    سنحتاج إفتراضيا إلى ثلاث صفحات 
    _ صفحة نمودج كتابة إسم المستخدم المراد إسترجاع كلمة المرور الخصة به
    _ صفحة إرسال بريد الحقق إلى البريد الإلكتروني
    _ صفحة إنشاء كلمة مرور جديدة و إرسالها إلى البريد الإلكتروني للمستخدم
     
    جدول البيانات الؤقتة سنستخدمه لحفظ الكود السري المستخدم في التحقق و يتم إستدعائه إلى الصفحة عن طريق تمريره إلى مصفوفة GET 
     
    3 - البرمجة
    الأمور البديهية و المتطلبة سابقا لن أقوم بشرحها كجدول الأعضاء فهدا من المفترض أن يكون لديك مسبقا
    ولكن سأعمل على أمثلة جاهزة
     
    جدول الأعضاء إفتراضيا بهده البنية
    [IMG]http://www.swalif.net/softs/attachment.php?attachmentid=43507&stc=1&d=1039293324[/IMG]
     
    و الإسم الإفتراضي للجدول هو azizsoft_usr
     
    أول ما سنقوم ببرمجته هو نمودج طلب كلمة المرور
    و هو نمودج بسيط جدا يحتوي على حقل واحد هو خقل غسم المستخدم و زر الإرسال
    و الإسم الإفتراضي للحقل هو usrname
    [IMG]http://www.swalif.net/softs/attachment.php?attachmentid=43508&stc=1&d=1039293324[/IMG]
     
    و الصفحة التي ستستقبل النمودج هي p_pass.php
    [IMG]http://www.swalif.net/softs/attachment.php?attachmentid=43509&stc=1&d=1039293324[/IMG]
    <<لست مضطرا لإستخدام هده الأسماء بالظبط للملفات و المتغيرات لكن إحرص على أن يكون الإسم هو نفسه في جميع الخطوات>>
     
    لنبدأ ببرمجة الملف الدي سيستقبل إسم المستخدم من النمودج و هو p_pass.php
     
    تخزين إسم المستخدم القادم من النمودج في متغير و الإستعلام عنه في قاعدة البيانات
    [php]$usrname = $_POST['usrname'];
    $query=mysql_query("SELECT usrname,email FROM `azizsoft_usr` WHERE `usrname`='$usrname'");
    [/php]
     
    ربما يقوم العضو بإدخال إسم مستخدم غير موجود لدا لابد من التحقق من أن الإسم المدخل موجود في قائمة الأعضاء
    [php]if(mysql_num_rows($query)!=1){
    die("خطأ .إسم المستخدم الدي أدخلته غير صحيح");
    }[/php]
     
    بعد تجاوز هدا الشرط نأتي إلى إستخراج البريد الإلكتروني الدي إشترك به العضو و دلك بهدف إرسال كود التحقق
    لهدا الغرض نستخدم دالة mysql_fetch_array التي ستضع لنا محتويات السجل في مصفوفة
    [php]$result = mysql_fetch_array($query); [/php]
    تم إستخراج البريد الإلكتروني من الحقل email
    [php]$email = $result['email'];[/php]
     
    لنتدكر جيدا
    البريد الإلكتروني وضعناه في متغير
    لكن مدا سنرسل له؟؟
    الجواب بسيط
     
    رابط صفحة ليكن إسمها إفتراضيا هو c_pass.php
    و هده الصفحة يجب أن تكون مرتبط عن طريق مصفوفة GET بـــ
    إسم المستخدم و
    كود عشوائي سري هو كود التحقق من رغبة العضو في إنشاء كلمة مرور جديدة
    هدا الكود سنحتفظ به في جدول البيانات المؤقتة
     
    لننشئ اولا الكود العشوائي عن طريق الدالة التالية
    [php]function rand_string($num_chars){
    $chars=array("a","A","b","8","B","c","C","9","-","d","D","0","e","1","E","f","F","g","G","h","2","H","i","I","j","J","k","3","K","7","l","_","L","m","M","n","N","o","O","p","P","q","Q","r","R","s","4","S","t","T","u","U","6","v","V","w","W","x","5","X","y","Y","z","Z",);
    $string=array_rand($chars,$num_chars);
        foreach($string as $s){
        @$ret.=$chars[$s];
        }return 
    $ret;
    } [/php]
    هده الدالة إستخدمناها في الجزء السابق و طريقة عملها معروفة
    لننشئ الكود السري بواسطتها
    [php]$crc = rand_string(30);[/php]
     
    هناك نقطة مهمة يجب عدم إغفالها
    الكود السري الدي ننشئه يجب أن يكون محدودا في فترة صلاحيته و إلا فإن المستوى الأمني للموقع سيكون في الحضيض
    لنجعله إدا صالحا للإستخدام لمدة اسبوع إنطلاقا من تاريخ إنشائه 
    مع العلم أن 24 ساعة هي فترة صلاحية كافية
    عدد التواني في الاسبوع الواحد هو 604800
    إدن
    [php]$time = time()+604800;[/php]
     
     
     
     
     
     
     
     
     
     
     
     
     
    لدينا إلى حد الان 4 متغيرات جاهزة و هي كالتالي
    البريد الإلكتروني $email
    إسم المستخدم $usrname
    الكود العشوائي السري $crc
    تاريخ الصلاحية $time
     
    إدا أردنا حفظ هده المعلومات في جدول البيانت المؤقتة فيجب أن نفرق بينها و بين المدخلات السابقة عن طريق الحقل tmp_type
    لنجعل قيمة هدا الحقل هنا هي p_pass
     
    ملاحضة أخرى . حقل tmp_ip لن نحتاجه هنا إد لا دور له لدا سنتجاهله
     
    أضن أننا الان في وضع مناسب لإدخال البيانات إلى الجدول azizsoft_tmp
    [php]mysql_query("INSERT INTO `azizsoft_tmp`(`tmp_type`,`tmp_crc`,`tmp_time`,`tmp_usr`)VALUES('p_pass','$crc','$time', '$usrname');");
    [/php]
     
    طبعا لا ننسى الرسالة الموجهة للبريد الإلكتروني $email
    و أهم ما يجب أن تتوفر عليه الرسالة هو رابط الصفحة التي ستقوم بإنشاء الباسوورد الجديد
    إسم الصفحة إفتراضيا هو c_pass.php
    و يجب أن يتم إرساله كما دكرنا سابقا مرتبطا بعنصرين 
    الكود العشوائي السري $crc و إسم المستخدم $usrname
    إدن 
    [code] 
    "c_pass.php?crc=".$crc."&usr=".$usrname
    [/code]
    و لا ننسى ربط الصفحة بالمسار الكامل لها تم دمجها في رسالة واضحة اللهجة مفهومة المقصد إلى العضو
     
    [php]$msg = "بإسم الله الرحمان الرحيم
    السلام عليكم و رحمة الله و بركاته
    أنت أو شخص اخر قام بطلب كلمة المرور للعضوية ".$usrname." 
     
    لإستعادة كلمة المرور يرجى الضغط هلى الرابط التالي
    http://_______/c_pass.php?crc=".$crc."&usr=".$usrname."
    إدا لم تكن أنت من طلب كلمة المرور يمكنك حدف هده الرسالة
    مع تحيات إدارة الموقع";[/php]
     
    تم نأتي إلى عملية إرسال الرسالة إلى البريد الإلكتروني $email عن طريق دالة mail
    [php]mail($email, "رابط إسترجاع كلمة المرور", "$msg", "From: azizsoft <azizsoft@gmail.com>\r\n"); 
    [/php]
     
    و لا ننسى إعلام المستخدم أن دلك تم بنجاح
    [php]echo "تم إرسال رابط إسترجاع كلمة المرور الى بريدك الإلكتروني";[/php]
     
    إنتهينا من برمجة ملف إنشاء رابط إسترجاع كلمة المرور
    أما الصفحة التي يتم إرسالها بواسطة الملف فهي بإسم c_pass.php كما رأينا سابقا و سنبدأ على بركة الله ببرمجتها
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
    لنبدأ بحفظ محتوى مصفوفة GET في متغيرات
    [PHP]$usr = $_GET['usr'];
    $crc = $_GET['crc'];[/PHP]
     
    أيضا نحتاج إلى التاريخ الحالي لمعرفة إدا ما كان الرابط ما زال صالحا أم لا
    [PHP]$time = time();[/PHP]
     
    إستعلام جدول البيانات المؤقتة بنائا على المتغيرات السابقة
    [PHP]$query=mysql_query("SELECT * FROM `azizsoft_tmp` WHERE `tmp_type`='p_pass' and `tmp_crc`='$crc' and `tmp_usr`='$usr' and `tmp_time`>'$time'");
    [/PHP]
     
    إدا لم يرجع الإستعلام سجلا في قاعدة البيانات بالمتغيرات السابقة فبالتأكيد الرابط خاطئ و يجب ان نتوقف عند هدا الحد مخبرين المستخدم بدلك
    [PHP]if(mysql_num_rows($query)!=1){
    die("رابط خاطئ");
    }
    [/PHP]
     
    إدا تم إجتياز الشرط بنجاح نأتي إلى إستخراج البريد الإلكتروني للمستخدم $usr من جدول الأعضاء
    [PHP]$query2=mysql_query("SELECT usrname,email FROM `azizsoft_usr` WHERE `usrname`='$usr'");
    $result2 = mysql_fetch_array($query2); 
    $email = $result2['email'];[/PHP]
     
    الأن لدينا البريد الإلكتروني و إسم المستخدم
    لم يبق لنا إلا تحديث كلمة المرور الخاصة به و إرسالها إليه عن طريق البريد
     
    لا تنس دكر الله
     
     
     
     
     
    تم لا تنس أن كلمة المرور يجب أن يتم إرسالها إلى البريد بسياقها العادي و تحديتها في جدول الأعضاء مشفرة بـــ md5
     
    لدا سنحتاج إلى استخراج كلمة المرور عشوائية من دالة rand_string و تشفيرها بــ md5
     
    [PHP]$newpass = rand_string(8);
    $newpassmd5 = md5($newpass);[/PHP]
    المتغير $newpass هون كلمة المرور الدي يتوجب علينا إرسالها إلى البريد و $newpassmd5 هو تشفير كلمة المرور الدي يجب أن يتم وضعه في حقل كلمة المرور للعضو
     
    تحديث كلمة المرور الخاصة بالعضو في جدول الأعضاء طبعا يجب أن تكون مشفرة
    [PHP]mysql_query("UPDATE `azizsoft_usr` SET `password`='$newpassmd5' WHERE `usrname`='$usr';");
    [/PHP]
    تجهيز الرسالة ووضع كلمة المرور الجديدة فيها
    [PHP]$msg = "بإسم الله الرحمان الرحيم
    السلام عليكم و رحمة الله و بركاته
    تم إنشاء كلمة مرور جديدة لعضويتك
    كلمة المرور الجديدة هي
    ".$newpass."
    مع تحيات إدارة الموقع";
    [/PHP]
    إرسال الرسالة
    [PHP]mail($email, "كلمة المرور الجديدة", "$msg", "From: azizsoft <azizsoft@gmail.com>\r\n"); 
    [/PHP]
    إعلام المستخدم بإرسال الرسالة
    [PHP]echo "تم إرسال كلمة المرور الجديدة إلى بريدك الإلكتروني<br>شكرا";[/PHP]
     
    إعدروني على اي تقصير في الشرح و إدا عندكم اي ملاحضات حول الموضوع لا تبخلو بها و جزاكم الله خيرا
     
    و السلام عليكم و رحمة الله و بركاته







  3. #3
    عضو فعال جدا
    تاريخ التسجيل
    Sep 2006
    المشاركات
    3,006


    عزيز يعطيك العافيه واستفدت كثير من الدرس موب شرط نفس شرحك من طريقتك يعطيك العافيه يالغاليي ..






  4. #4
    عضو نشيط جدا
    تاريخ التسجيل
    Aug 2007
    المشاركات
    597


    يعطيك العافية اخي العزيز ..

    لكن عندي طلب منك .. ارجو منك شرح كيفية برمجة المتواجدين حاليا ,, لأني برمجت انظمة كثيرة لها لكنا تعمل ضغط عالي عالسيرفر

    وجزاك الله خيرا






  5. #5
    عضو نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    169


    عزيز يعطيك العافيه واستفدت كثير من الدرس موب شرط نفس شرحك من طريقتك يعطيك العافيه يالغاليي ..
    الله يعافيك أخي الكريم
    و بالتأكيد ليست هده الطريقة هي الوحيدة لإسترجاع كلمة المرور
    لكن إحرص على أن تكون كلمة المرور في جدول الأعضاء مشفرة بــ md5

    أيضا لا تنس هده النقطة
    هناك نقطة مهمة يجب عدم إغفالها
    الكود السري الدي ننشئه يجب أن يكون محدودا في فترة صلاحيته و إلا فإن المستوى الأمني للموقع سيكون في الحضيض
    و بالتوفيق لك أخي الكريم






  6. #6
    عضو نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    169


    يعطيك العافية اخي العزيز ..

    لكن عندي طلب منك .. ارجو منك شرح كيفية برمجة المتواجدين حاليا ,, لأني برمجت انظمة كثيرة لها لكنا تعمل ضغط عالي عالسيرفر

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

    و العفو أخي الغالي فأنا لم أقم إلا بواجبي






  7. #7
    عضو فعال
    تاريخ التسجيل
    Feb 2008
    المشاركات
    1,759


    الله يعطيك العافيه اخوى
    شرح ممتاز





    __________________
    FaceBook Application Developer
    تعلم برمجة سكريبت جلب المحتوى خطوة بخطوة
    مشروعى داخل معرض الاتصالات
    لمراسلتي إضغط هنا
    سبحان الله وبحمده سبحان الله العظيم

  8. #8


    أخي لا تنسي تأميد المدخلات في ال post و ال get قبل إستعلام السكول بها
    وهذه تكفي

    mysql_real_escape_string()

    بالنسبة للمتواجدين الأن ممكن عبر جدول ال session المخصص نحسب عدد اللي زمن أخر تحديث له أقل من 15 دقيقة ونظهره بواسطة الدالة count
    ولكن بدلاً من عمل إستعلام زيادة في كل صفحة ممكن نخليها تتحسب كل 5 دقائق مثلا وتسجل في حقل ويتم الجلب من الحقل فقط مع الإحصائيات العامة





    __________________
    السيف أصدق أنباء من الكتب





ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض