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

الموضوع: كيف يمكن عمل باسوورد يعتمد على ال cookie لصفحة php

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

    كيف يمكن عمل باسوورد يعتمد على ال cookie لصفحة php



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

    لكن هذه الطريقه فاشله ! والطريقه المفضله كما يستخدمها الجميع هي استخدام ال cookie , كوكيز

    اذا كيف يمكن عمل كود يقوم ب :

    1- حفظ اذ قام المشرف بتسجيل الدخول .

    2- حفظ اذا قام المشرف بتسجيل الخروج .

    3- معرفة حالة المشرف اذ هو مسجل الدخول فعلا ام مسجل الخروج .

    هذا هو .

    سؤال خارج الموضوع لمن لديه معرفه : ما هو افضل لبناء برامج وندوز مثل بناء برنامج دليل هاتف هل هو ال Visual Basic ام ال visual studio ?

    اسئلكم هذا السؤال لاني اود ان اتعلم طريقة البرمجه لصنع برامج وندوز مثل صنع دليل هاتف , واني لا اعرف اي البرامج افضل ! Visual Basic ام visual studio ومن هو اسهل استخداما ! او للتعلم !





    __________________


    موقع دبوريه - عرب 48: http://www.dabburiya.net/index.php

    منتدى دبوريه - عرب 48: http://www.dabburiya.net/forums/index.php

    hamudi غير متواجد حالياً


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


    ربما انه استخدام قاعدة البيانات لهذا الخصوص يغني عن استخدام ال كوكز !

    من جربها ؟





    __________________


    موقع دبوريه - عرب 48: http://www.dabburiya.net/index.php

    منتدى دبوريه - عرب 48: http://www.dabburiya.net/forums/index.php

    hamudi غير متواجد حالياً

  3. #3
    عضو فعال
    تاريخ التسجيل
    Feb 2002
    المشاركات
    1,247


    لماذا لا تستخدم طريقة الجلسات Session

    وهذا شرح لها من موقع قرية PHP

    بناء لوحة تحكم باستخدام Session





    __________________
    ومامن كاتب إلا سيفنى ****** ويبقي الدهر ماكتبت يداه
    فلا تكتب بكفك غير شيء ****** يسرك يوم القيامة أن تراه
    Dr.Server غير متواجد حالياً

  4. #4
    عضو نشيط
    تاريخ التسجيل
    Feb 2003
    المشاركات
    76


    أفضل طريقة هي باستخدام الجلسات session وحفظ بيانات المستخدمين في قاعدة بيانات mysql .

    إذا أردت أن تجعل الموقع يتذكر المتصفح .. يمكنك ذلك عن طريق الكوكيز ..

    أي سؤال على الجلسات أو الكوكيز أنا بالخدمة ..





    __________________
    وَدّعْتُهـَـا وَدُمُــوْعِيْ مَزْجُ أدْمُعِهَا
    وَقَبـَـلَتْـنِي عَلَىْ خَوْفٍ فَمَــاً لِـفَــمِ
    فَذُقْــتُ مـَـاءَ حَيـَـاةٍ مِنْ مُقَبَلٍــهَا
    لَو صـََـاب تـُـرباً لأحْيـَا سَالِفَ الأُمَمِ
    meylad غير متواجد حالياً

  5. #5
    عضو نشيط
    تاريخ التسجيل
    Feb 2003
    المشاركات
    207


    hamudi
    السلام عليكم
    إليك بعض المعلومات التى سوف تفيدك بإذن الله
    بعد قبول الباسورد واسم المستخدم تستخدم هذ ا الكود لزرع الكوكيز
    مثال:

    Setcookye("logincookyepassword",$password,time() + 3600);
    Setcookye("logincookyeusername",$loginname,time() + 3600);

    طبعا تستطيع التعديل اسم الكوكيز وكذلك الزمن
    او تستطيع كذلك جعل الكوكيز باسم غير اسم المستخدم
    مثال:

    Setcookye("logincookyepassword",qweqweqweqweqw,time() + 3600);
    Setcookye("logincookyeusername",erwerewrwerwerwe,time() + 3600);
    لاحظ قمت باستبدال
    $password
    بحروف عشوائية
    وكذلك

    $loginname
    ----------------------------
    ولتحقق من المستخدم لكي تسمح له بالدخول بعد زرع الكوكيز تستخدم
    بحيث سوف تقوم بقراءة الكوكيز والتأكد منها

    if (($HTTP_COOKIE_VARS["logincookyepassword"]== "$password"))
    {
    وكذلك
    if (!($HTTP_COOKIE_VARS["logincookyeusername"]== "$loginname"))
    {
    او ادمج الاثنين معا باستخدام ||
    وللخروج

    setcookye("logincookyepassword",0,time()-3600);
    setcookye("logincookyeusername",0,time()-3600);

    وللترحيب بالعضو مثال
    مرحبا بك عزيزي: $logincookyeusername

    ارجو أن تفيدك هذه المعلومات وارجو المعذرة على هذا الشرح السريع
    والمتواضع
    مع تحياتي للجميع





    irctoolz غير متواجد حالياً

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


    اخيرا وجدت هذا الموضوع بعد ان اضعته

    جزيل الشكر لك اخي irctoolz

    الشرح رائع وليس قصير وهو واضح ومفهوم

    سأجرب هذا , اخي العزيز سوالي لك لو سمحت لماذا logincookyepassword هل هذا اسم اجباري يجب وضعه ام انه يمكنني وضع اي شيء اخر ؟

    على كل حال ساجرب وانشاء الله ينجح الامر معي
    الشكر الجزيل لك





    __________________


    موقع دبوريه - عرب 48: http://www.dabburiya.net/index.php

    منتدى دبوريه - عرب 48: http://www.dabburiya.net/forums/index.php

    hamudi غير متواجد حالياً

  7. #7
    عضو سوبر نشيط
    تاريخ التسجيل
    May 2001
    المشاركات
    867

    اخي العزيز irctoolz لم تنجح الغكره معي !



    لا اعرف السبب ! انظر هذه تجربتي :

    ملف : test.php وبه :

    <?php



    $ok=0;

    if (($HTTP_COOKIE_VARS["logincookyepassword"]== "123") || ($HTTP_COOKIE_VARS["logincookyeusername"]== "abc")) $ok=1;

    echo "<p align=\"center\"><font color=\"#FF0000\"><b>تجربه</b></font></p>";


    if($ok == 1)
    {
    echo "<p align=\"center\"><font color=\"#FF0000\"><b><a href=\"test.php?op=logout\">خروج</a></b></font></p>";
    }
    else
    {
    echo "<form method=\"POST\" action=\"test.php?op=login&admin_login=$admin_login&password_login=$password_login\">\n";
    echo " <table border=\"0\" width=\"47%\">\n";
    echo " <tr>\n";
    echo " <td width=\"34%\">المشرف</td>\n";
    echo " <td width=\"71%\"><input type=\"text\" name=\"admin_login\" value=\"$admin_login\" size=\"8\" maxlength=\"8\"></td>\n";
    echo " </tr>\n";
    echo " <tr>\n";
    echo " <td width=\"34%\">الرقم السري</td>\n";
    echo " <td width=\"71%\"><input type=\"password\" name=\"password_login\" value=\"$password_login\" size=\"8\" maxlength=\"8\"></td>\n";
    echo " </tr>\n";
    echo " </table>\n";
    echo " <p><input type=\"submit\" value=\"موافق\" name=\"B1\"> <input type=\"reset\" value=\"الغاء الامر\" name=\"B2\"></p>\n";
    echo "</form>\n";
    }


    if($op=="login" & $ok ==1)
    {
    Setcookye("logincookyepassword",$password_login,time() + 3600);
    Setcookye("logincookyeusername",$admin_login,time() + 3600);
    }
    else
    if($op=="logout")
    {
    setcookye("logincookyepassword",0,time()-3600);
    setcookye("logincookyeusername",0,time()-3600);
    }


    ?>





    __________________


    موقع دبوريه - عرب 48: http://www.dabburiya.net/index.php

    منتدى دبوريه - عرب 48: http://www.dabburiya.net/forums/index.php

    hamudi غير متواجد حالياً

  8. #8
    عضو نشيط
    تاريخ التسجيل
    Dec 1999
    المشاركات
    121


    هلا اخوي

    عندك بعض الأخطاء البسيطة اللي بسببها مااشتغل برنامجك....

    1- الكود التالي:

    if (($HTTP_COOKIE_VARS["logincookyepassword"]== "123") || ($HTTP_COOKIE_VARS["logincookyeusername"]== "abc")) $ok=1;

    الواصل بين الشرطين لازم يكون && وليس || لأنك تبي تحقق الشرطين وليس أحدهما

    2- الكود التالي:

    echo "<form method=\"POST\" action=\"test.php?op=login&admin_login=$admin_login&password_login=$password_login\">\n";

    الأكشن للفورم ما تحتاج أنها تحتوي على admin_login=$admin_login&password_login=$password_login لسببين:
    الأول أنها ماراح تحتاجها أو تستعملها.. فقط تحتاج op=login
    الثاني أنها ما راح تقدر عملياً أنها تضع المتغير داخلها بسبب أن المتغير لم يتم ضبطه بعد!

    3- الكود التالي:

    كود:
    if($op=="login" & $ok ==1)
    يجب إزالة & $ok ==1 لأن هذا الشرط لن يتحقق أبداً بطريقتك كما أنه ليس ذو فائدة

    4- الكودين التاليين:

    كود:
    Setcookye("logincookyepassword",$password_login,time() + 3600);
    Setcookye("logincookyeusername",$admin_login,time() + 3600);
    كود:
    setcookye("logincookyepassword",0,time()-3600);
    setcookye("logincookyeusername",0,time()-3600);
    الفنكشن غلط ليست setcookye وإنما s e t c o o k i e ( بدون المسافات اللي بين الحروف ).
    المشكلة أن برنامج المنتدى يمنع من كتابة كلمة كوكي بالإنجليزي لدواعي أمنية .. لذا يبدو لي أنك نسختها من رد الأخ اللي عطاكياها ولصقتها بدون ماتعدلها...
    لذلك انتبه تراها بحرف i وليس y

    5- يجب إضافة الكود التالي:
    كود:
    echo "<meta http-equiv=\"Refresh\" content=\"0; URL=test.php\">";
    بعد كل من الكودين السابقين لضبط الكوكيز، وفائدته أنه يسوي ريدايركت إلى الصفحة نفسها لغرض معين وهو تفعيل المتغيرات بعد حفظ الكوكيز.. لأن الكوكيز لما تحفظها ما تقدر تستعملها كمتغيرات في نفس الصفحة اللي حفظت فيها الكوكيز,, ونفس الشي مع حذف الكوكيز..

    6- آخر تعديل.... تعديل مهم... لازم ترفع عمليات حفظ الكوكيز وتخليها قبل أي عملية طباعة على الشاشة.. يعني قبل ما يسوي أي عملية echo أو print .. والأفضل هنا أنك تخليها بأول البرنامج..


    بعد التعديلات برنامجك بيصير كالتالي:

    <?php

    if($op=="login")
    {
    setcookye("logincookyepassword",$password_login,time() + 3600);
    setcookye("logincookyeusername",$admin_login,time() + 3600);
    echo "<meta http-equiv=\"Refresh\" content=\"0; URL=test.php\">";
    }
    else
    if($op=="logout")
    {
    setcookye("logincookyepassword",0,time()-3600);
    setcookye("logincookyeusername",0,time()-3600);
    echo "<meta http-equiv=\"Refresh\" content=\"0; URL=test.php\">";
    }

    $ok=0;

    if (($HTTP_COOKIE_VARS["logincookyepassword"]== "123") && ($HTTP_COOKIE_VARS["logincookyeusername"]== "abc")) $ok=1;

    echo "<p align=\"center\"><font color=\"#FF0000\"><b>تحربة</b></font></p>";


    if($ok == 1)
    {
    echo "<p align=\"center\"><font color=\"#FF0000\"><b><a href=\"test.php?op=logout\">خروج</a></b></font></p>";
    }
    else
    {
    echo "<form method=\"POST\" action=\"test.php?op=login\">\n";
    echo " <table border=\"0\" width=\"47%\">\n";
    echo " <tr>\n";
    echo " <td width=\"34%\">المشرف</td>\n";
    echo " <td width=\"71%\"><input type=\"text\" name=\"admin_login\" value=\"$admin_login\" size=\"8\" maxlength=\"8\"></td>\n";
    echo " </tr>\n";
    echo " <tr>\n";
    echo " <td width=\"34%\">الرقم السري</td>\n";
    echo " <td width=\"71%\"><input type=\"password\" name=\"password_login\" value=\"$password_login\" size=\"8\" maxlength=\"8\"></td>\n";
    echo " </tr>\n";
    echo " </table>\n";
    echo " <p><input type=\"submit\" value=\"موافق\" name=\"B1\"> <input type=\"reset\" value=\"إلغاء الأمر\" name=\"B2\"></p>\n";
    echo "</form>\n";
    }

    ?>



    ولا تنسى بعد ماتنسخ الكود ،، تعدل setcookye إلى s e t c o o k i e ( بدون المسافات اللي بين الحروف طبعاً ) ..

    أتمنى أكون أفدتك
    وشكراً

    أخوك آهات





    __________________
    الرياضة إلى الأبد
    http://www.sport4ever.com
    http://www.sport4ever.net
    http://www.sport4ever.org
    آهات غير متواجد حالياً

  9. #9
    عضو نشيط
    تاريخ التسجيل
    Dec 1999
    المشاركات
    121


    حطيت لك التعديل على شكل ملف مرفق عشان ماتتلخبط في الكود





    الملفات المرفقة الملفات المرفقة
    __________________
    الرياضة إلى الأبد
    http://www.sport4ever.com
    http://www.sport4ever.net
    http://www.sport4ever.org
    آهات غير متواجد حالياً

  10. #10
    عضو سوبر نشيط
    تاريخ التسجيل
    May 2001
    المشاركات
    867

    عمل رائع اخي آهات



    فعلا رائع لا اعرف كيف اشكرك

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

    بارك الله بك واتمنى لك التوفيق





    __________________


    موقع دبوريه - عرب 48: http://www.dabburiya.net/index.php

    منتدى دبوريه - عرب 48: http://www.dabburiya.net/forums/index.php

    hamudi غير متواجد حالياً

  11. #11
    عضو نشيط
    تاريخ التسجيل
    Dec 1999
    المشاركات
    121


    أهلا أخي

    العفو وأنا اسعد بالتعرف عليك
    وأتمنى أن يعمل معك البرنامج





    __________________
    الرياضة إلى الأبد
    http://www.sport4ever.com
    http://www.sport4ever.net
    http://www.sport4ever.org
    آهات غير متواجد حالياً

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


    فعلا اخي آهات البرنامج قد عمل بشكل رائع

    بارك الله بك





    __________________


    موقع دبوريه - عرب 48: http://www.dabburiya.net/index.php

    منتدى دبوريه - عرب 48: http://www.dabburiya.net/forums/index.php

    hamudi غير متواجد حالياً





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

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

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