صفحة 1 من 3 123 الأخيرةالأخيرة
النتائج 1 إلى 15 من 36

الموضوع: درس عمل نظام تسجيل الدخول للموقع بالجلسات

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

    درس عمل نظام تسجيل الدخول للموقع بالجلسات



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

    الدرس هو عبارة عن عمل تسجيل نظام تسجيل الدخول للموقع بالجلسات

    بص يا عم لز انت عندك فورم تسجيل الدخول وفيه حقين الاول للاسم والثاني للبسورد
    حقل الاسم انا مسميه=T1
    حقل البسوردانا مسميه=T2
    وجدول في قاعدة البيانات اسمه user وفيه الحقول ديه usernam وpassword
    في ها نضع هقل الفورم في متغير ونسمية $user ووحقل البسورد$pass عشان نعرف نفرق بينهم
    ونحت البسورد في داله التشقير لو انت مدخله بداله التسفير لقاعدة البيانات

    نكتب الكود بقها
    اول حاجة قبل اي شي في كتابة الكود لاذم تكتب ديه قبل اي وسم في php تحت <?php
    وهو مسجل الجلسه
    كود PHP:

    <?php
    session_start
    ();
    include(
    "config.php");
    ده لتسجيل الجلسه
    وبعدين ملف الاتصال بقاعدة البيانات
    كود PHP:
    $user=$_POST['T1'];
    $pass=md5($_POST['T2']); 
    ديه المتغير الاسم والبسورد انا حطيتهم في متغيرين متغير لللاسم ومتغير للبسورد
    كود PHP:
    $sql=mysql_query("select*from user where username='$user' and password='$pass'");
    $row=mysql_num_rows($sql); 
    وديه للا تصال بقاعدة البيانات واستعلام منها عن الاسم والبسور ويطلع اناتح في $row

    كود PHP:
    if($row==1)
    {
    $_SESSION['username']=$user;
    echo 
    $user;
    }else
    {
    echo 
    "username or password erroe";

    وهنا عملنا شرط لو اناتج =1
    يسجل الجلسه باسم المستخدم $user


    وديه الكود كامل
    كود PHP:
    <?php
    session_start
    ();
    include(
    "config.php");
    $user=$_POST['T1'];
    $pass=md5($_POST['T2']);
    $sql=mysql_query("select*from user where username='$user' and password='$pass'");
    $row=mysql_num_rows($sql);
    if(
    $row==1)
    {
    $_SESSION['username']=$user;
    echo 
    $user;
    }else
    {
    echo 
    "username or password erroe";
    }




    ?>
    وديه كود تسجيل الخروج
    كود PHP:
    <?php
    session_start
    ();
    session_destroy();
    ?>

    كود PHP:

    session_destroy
    (); 
    هذا الكلمة لتدمير الجلسة
    يارب اكون شرحته صح ليكم
    بتوفيق





    __________________
    ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
    لطلب البرمجة فقط
    helal-egypt@hotmail.com


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


    جزاك الله كل خير على الدرس الرائع
    واتسائل كيف بالامكان عمل فحص كل شوى لصفحة معينة لكى نعرف اذا كان مسجل دخول ام لا واذا كان مسجل دخول نريد عرض كود معين والا يعرض كود اخر


    ودمت بالخير





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

  3. #3
    عضو فعال
    تاريخ التسجيل
    Jul 2008
    المشاركات
    1,109


    جزاك الله كل خير على الدرس الرائع
    واتسائل كيف بالامكان عمل فحص كل شوى لصفحة معينة لكى نعرف اذا كان مسجل دخول ام لا واذا كان مسجل دخول نريد عرض كود معين والا يعرض كود اخر


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





    كود PHP:
    <?php
    echo"انت مسجل";

    echo
    "انت مش مسجل";
    ?>
    مثلا وعوذين لو هو مسجل يظهر انت مسجل ولو هو مش مسجل يظهر انت مش مسجل

    نعمل ايه نعمل شرط
    اذي
    كده
    ديه الصفحة
    كود PHP:
    <?php
    session_start
    ();
    include(
    "config.php");
    $user=$_session['username'];
    if(
    $user)
    {
    echo
    "انت مسجل";
    }
    else
    {
    echo
    "انت مش مسجل";
    }


    ?>
    هنا هي يظهر لو هو مسجل كلمة انت مسجل لو مش مسجل هيظهر انت مش مسجل
    هنا انا حطية الجلسة في متغير

    ?>

    بتوفيق





    __________________
    ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
    لطلب البرمجة فقط
    helal-egypt@hotmail.com

  4. #4
    عضو نشيط
    تاريخ التسجيل
    Oct 2008
    المشاركات
    283


    شكراً لك أخي محمد ، بس في تعديل بسيط على الكود ده :
    كود PHP:
    $_SESSION['username']=$user
    [/php]
    اجعله
    كود PHP:
    $_SESSION['username']=$row['username']; 
    وخمن انت ! .. ليه أنا عملته كده ؟





    التعديل الأخير تم بواسطة Mostafa Maher ; 20-11-2008 الساعة 10:30 PM
    __________________
    اللهم وفقني لما تحبه وترضاه...

  5. #5
    عضو نشيط
    تاريخ التسجيل
    Oct 2008
    المشاركات
    283


    نسيت حاجة ، لازم قبل ماتعمل ده ، اعمل Fetch Array
    كود PHP:
    $row mysql_fetch_array($sql); 






    __________________
    اللهم وفقني لما تحبه وترضاه...

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


    نظام التسجيل هذا يمكن إقتحامه بطريقة بسيطة ..
    كود PHP:
    $_SESSION['username'] = 'swalif'
    لابد من تخزين اسم المستخدم وكلمة السر الخاصة به مشفرة ( كلمة السر المشفرة في قاعدة البيانات + عدة حروف وارقام لايعرفها سوى المبرمج مشفرة أيضاً ) والتحقق منهما في كل مرة لضمان امن البرمجية ..
    كود PHP:
    $_SESSION['username'] = array('u' => 'swalif''p' => md5(md5('123456').md5('abc123'))); 







  7. #7
    عضو فعال
    تاريخ التسجيل
    Aug 2007
    المشاركات
    1,431


    نظام التسجيل هذا يمكن إقتحامه بطريقة بسيطة ..
    كود PHP:
    $_SESSION['username'] = 'swalif'
    لابد من تخزين اسم المستخدم وكلمة السر الخاصة به مشفرة ( كلمة السر المشفرة في قاعدة البيانات + عدة حروف وارقام لايعرفها سوى المبرمج مشفرة أيضاً ) والتحقق منهما في كل مرة لضمان امن البرمجية ..
    كود PHP:
    $_SESSION['username'] = array('u' => 'swalif''p' => md5(md5('123456').md5('abc123'))); 
    ممكن توضيح كيف يتم إقتحامه ؟






  8. #8
    عضو نشيط
    تاريخ التسجيل
    Oct 2008
    المشاركات
    283


    نظام التسجيل هذا يمكن إقتحامه بطريقة بسيطة ..
    كود PHP:
    $_SESSION['username'] = 'swalif'
    لابد من تخزين اسم المستخدم وكلمة السر الخاصة به مشفرة ( كلمة السر المشفرة في قاعدة البيانات + عدة حروف وارقام لايعرفها سوى المبرمج مشفرة أيضاً ) والتحقق منهما في كل مرة لضمان امن البرمجية ..
    كود PHP:
    $_SESSION['username'] = array('u' => 'swalif''p' => md5(md5('123456').md5('abc123'))); 
    Ok الـ Password يتشفر عادي ولكن ليه الـ Username ؟
    حاجة تانية : لازم نأخذ القيم دي من قاعدة البيانات نفسها بعد التحقق وليس من المدخلات .





    __________________
    اللهم وفقني لما تحبه وترضاه...

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


    ممكن توضيح كيف يتم إقتحامه
    عند تنفيذ الامر
    كود PHP:
    $_SESSION['username'] = 'swalif'
    يكون للشخص الصلاحية باستخدام هوية العضو بالاسم swalif ، سواءً كان ذلك بواسطة مدير الموقع او عن طريق ملف خارجي تم تنفيذه على الموقع ..

    لانقوم بتشفير اسم المستخدم ، بل كلمة السر مضافاً اليها بعض الحروف الخاصة التي لايعرفها احد سوى المبرمج او مدير النظام ، السبب بكل بساطة ( لاتقم بتخزين كلمة المرور بشكلها في قاعدة البيانات خارج القاعدة ) ، وبالطبع سنحتاج لاستخراج كلمة السر الاصلية لاسم المستخدم ومن ثم تشفيرها بالمعيار المستخدم ومن ثم مقارنتها بالكلمة المدخلة والمضاف اليها الحروف الخاصة والمشفرة ..






  10. #10


    هل ستسير بالجلسة بإسم المستخدم فقط من صفحة لأخري ؟ !!!
    الإقتحام ما في أسهل منه

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





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

  11. #11
    عضو فعال
    تاريخ التسجيل
    Aug 2007
    المشاركات
    1,431


    عند تنفيذ الامر
    كود PHP:
    $_SESSION['username'] = 'swalif'
    يكون للشخص الصلاحية باستخدام هوية العضو بالاسم swalif ، سواءً كان ذلك بواسطة مدير الموقع او عن طريق ملف خارجي تم تنفيذه على الموقع ..

    لانقوم بتشفير اسم المستخدم ، بل كلمة السر مضافاً اليها بعض الحروف الخاصة التي لايعرفها احد سوى المبرمج او مدير النظام ، السبب بكل بساطة ( لاتقم بتخزين كلمة المرور بشكلها في قاعدة البيانات خارج القاعدة ) ، وبالطبع سنحتاج لاستخراج كلمة السر الاصلية لاسم المستخدم ومن ثم تشفيرها بالمعيار المستخدم ومن ثم مقارنتها بالكلمة المدخلة والمضاف اليها الحروف الخاصة والمشفرة ..
    نعم , لابد من رفع ملف على نفس السيرفر كي نسجل الجلسه ..
    مادمت أستطيع رفع الملف للسيرفر فلماذا احتاج لوحة تحكم سكربت ؟ "قصدي إذا كانت النيه الإختراق".
    أقوم برفع ملف شيل وانتيهنا

    جزاك الله خير على المعلومات القيمه ... راح استعمل طريقتك زيادة أمان
    وشكراً للأخ صاحب الموضوع .






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


    انت تأخذ الحيطة في جميع الحالات .. هذا بالفعل مايزيد من امن البرنامج






  13. #13
    عضو فعال
    تاريخ التسجيل
    Jul 2008
    المشاركات
    1,109


    شكراً لك أخي محمد ، بس في تعديل بسيط على الكود ده :
    كود PHP:
    $_SESSION['username']=$user
    [/php]
    اجعله
    كود PHP:
    $_SESSION['username']=$row['username']; 
    وخمن انت ! .. ليه أنا عملته كده ؟
    عشان يحفظ بالاسن الي في قاعدة البيانات

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


    اخواني لو في حد يشرح اذي نامن اكثر ينقي جزاه الله الف خيراا عشان نستفاد منكم في الموضوع ده





    __________________
    ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
    لطلب البرمجة فقط
    helal-egypt@hotmail.com

  14. #14
    عضو نشيط
    تاريخ التسجيل
    Oct 2008
    المشاركات
    283


    عشان يحفظ بالاسن الي في قاعدة البيانات

    جزاك الله الف خير
    بالضبط هكذا .. لتكون البيانات المخزنة بالـ SESSION مطابقة تماماً بما هو مخزن بقاعدة البيانات .
    فائدة الموضوع هذا : شخص مسجل مثلاً باسم Mohammed ( الـ M كابتل ) - نفرض انه كتب في حقل الـ Username عند تسجيل الدخول mohammed ( الـ m سمول ) - كده هيسجل دخول عادي ، يبقى نعتمد على مين ؟ الاسم المخزن بقاعدة البيانات أم الإسم المدخل . خلينا في المضمون أحسن علشان نتجنب أي شيئ قد يطرأ على المدخلات وأعتقد أنه هيكون له دور في الحماية أيضاً .

    لتطوير الكود أخي محمد ..
    1- خزن الـ id الخاص بالمستخدم في الـ SESSION عند تسجيل الدخول بدلاً من الـ Username وعندما ترغب في اخذ بيانات لهذا الـ id كالـ Username الخاص به اعمل استعلام له بدلالة هذا الـ id .
    3- تكملة لكلام الأخوة الأفاضل dev11 و ff5006 واختصاراً لكلامهم ، أنه لا يصح ولا ينفع أن نسير بالجلسة بالـ Username فقط - حاول تعيين قيمة أخرى ( سرية ) للمرور . ( أقترح انشاء حقل إضافي لكل User يحتوي على كود أو كلمة سرية لنتعامل بها الـ SESSION بدلاًَ من كلمة المرور ... أريد رأي الأعضاء ؟ ) .
    4- الكود غير محمي وفيه ثغرات من نوع MySQL injection .

    أرجو أن تتصفح وتقرأ هذا الدرس جيداً على هذا الرابط .
    PHP Login script tutorial
    فيه معلومات جيدة ودرس كامل لإنشاء سكريب تسجيل الدخول .





    __________________
    اللهم وفقني لما تحبه وترضاه...

  15. #15
    عضو فعال
    تاريخ التسجيل
    Jul 2008
    المشاركات
    1,109


    اعتقد ان الدرس الي انت اديتهولي عشان اشوفهذا القطعه


    كود PHP:
    $myusername stripslashes($myusername);
    $mypassword stripslashes($mypassword);
    $myusername mysql_real_escape_string($myusername);
    $mypassword mysql_real_escape_string($mypassword); 
    انا بستخدم داله للحماية انا عملتها ليه
    وارجو منك شرح بمثال بسيط حكاية حقل اخر
    وجزاك الله الف خير





    __________________
    ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
    لطلب البرمجة فقط
    helal-egypt@hotmail.com





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

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

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