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

الموضوع: درس عن ال Cookies

  1. #1

    درس عن ال Cookies



    السلام عليكم

    الكوكيز عبارة عن ملفات صغيرة من المعلومات يقوم السيرفر بتخزينها على جهاز المستخدم ( العميل )

    الكوكيز بعضها يكون مؤقت وبعضها يكون دائم ...الكوكيز المؤقته تسمى session cookies موجودة
    فقط في ذاكرة الخادم ( السيرفر )

    الكوكيز الدائمة يعني بعبارة أخرى ...تبقى حية شهور أو سنوات...المتصفح الذي يدعم الكوكيز يحتفظ بملف أو أكثر وهذه الملفات تسمى cookies files في نظام التشغيل ويندوز وتسمى magic cookies في نظام التشغيل ماكنتوش وهي تحفظ بيانات من مواقع الويب

    • عند استخدام الكوكيز يجب جلب فضاء الأسماء System.Net


    • معظم الأوقات الكوكيز تستخدم لتخزين أسماء المستخدمين وكلمات المرور وآخر صفحة قام المستخدم بزيارتها وليس من الخطأ أن يتم حفظ اسم المستخدم ولكن غير المفضل الاحتفاظ بكلمة المرور لأنه يمكن لللمخترقين فكها

    • يتم استرجاع الكوكيز من ال request object وكتابة قيمة الكوكيز باستخدام ال response object

    • لتكوين session cookies يعني كوكيز مؤقته بالطريقة التالية :
    فيجوال بيسك:

    كود:
    Dim  objCookie  as  New  HttpCookie(“myCookie”)
    objCookie(“myCookie”)= “English”
    Response.Cookies.Add(objCookies)
    سي شارب :

    كود:
    HttpCookie    cookie=new  HttpCookie(“myCookie”);
    objCookie[“myCookie”]= “English”;
    Response.Cookies.Add(objCookies);
    أول جملة هي انشاء كوكيز باسم myCookie ويحمل قيمة English
    والجملة الثانية اضافة الكوكيز الى ال Response object



    لقراءة قيمة كوكيز معين من خلال الجملة التالية :
    فيجوال بيسك :
    كود:
    Dim  objCookie  as  HttpCookie=Request.Cookies(“myCookie”)
    سي شارب :
    كود:
    HttpCookie    cookie= Request.Cookies[“myCookie”];

    دائما الكوكيز تحتوي على قيمة string واذا أردت أن تخزن قيمة من نوع آخر يجب تحويل القيمة

    ولعرض جميع الكوكيز الموجودة من خلال الكود التالي

    فيجوال بيسك دوت نت:
    كود:
    Dim strKey As String
    For each strKey in Request.Cookies
      Response.Write( "<li>" & strKey & "=" & Request.Cookies( strKey ).Value )
    Next
    سي شارب :
    كود:
    Foreach( String strKey in Request.Cookies)
    {
      Response.Write( "<li>" + strKey + "=" + Request.Cookies( strKey ).Value );
    }
    والأن سأعطي مثال على انشاء session Cookies ( كوكيز مؤقتة )

    1- انشاء صفحة جديدة واضافة الكونترول التالية كما هو موضح في الصور


    2- النقر نقرة مزدوجة بالماوس على الزر وكتابة الكود التالي
    فيجوال بيسك دوت نت :
    كود:
    Dim objCookie As HttpCookie
    objCookie = New HttpCookie(txtCookieName.Text, txtCookieValue.Text)
    Response.Cookies.Add(objCookie)
    بلغة السي شارب :
    كود:
    HttpCookie objCookie = New HttpCookie(txtCookieName.Text, txtCookieValue.Text);
    Response.Cookies.Add(objCookie);
    والكود التالي معناه تعريف كائن من الكلاس HttpCookie
    اسمه هو قيمة التيكست الأول وقيمته هو قيمة التكست الثاني
    وبعد ذلك سيتم اضافة الكوكيز الذي تم انشاءه الى ال Response object

    3- وفي نفس صفحة الكود يتم اختيار دالة ال Page_PreRender كما في الشكل التالي


    وهذه الدالة يتم تنفيذها بعد رجوع الصفحة من السيرفر
    ويتم كتابة الكود التالي
    فيجوال بيسك دوت نت :
    كود:
    Dim strKey As String
    For Each strKey In Request.Cookies
    lblCookies.Text &= "<li>" & strKey & "=" & Request.Cookies(strKey).Value
    Next
    سي شارب :
    كود:
    foreach( String strKey In Request.Cookies)
    {
    lblCookies.Text += "<li>" + strKey + "=" + Request.Cookies(strKey).Value;
    }
    هذا الكود معناه عرض جميع الكوكيز الموجودة
    ويتم التنفيذ وستكون النتيجة كالأتي


    واذا تم اضافة كوكيز جديدة يتم عرضها أيضا في اسفل الصفحة

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

    فيجوال بيسك دوت نت :
    كود:
    Dim objCookie As New HttpCookie( "myPersistentCookie", "Hello!" )
    objCookie.Expires = #12/25/2005#
    Response.Cookies.Add( objCookie )
    سي شارب :
    كود:
    HttpCookie objCookie = New HttpCookie( "myPersistentCookie", "Hello!”);
    objCookie.Expires = #12/25/2005#;
    Response.Cookies.Add( objCookie );

    وهناك بعض الحدودية في الكوكيز وهي :

    1- حجم ملف الكوكي محدود فهو لا يكون أكثر من KB 4 يعني لا تحاول أن تخزن بطاقات الشراء الكبيرة جدا جدا الخاصة بالمستخدم مباشرة في الكوكيز .
    2- أنت لا تستطيع أن تخزن أي شيء في الكوكي ولكن يتم تخزين فقط ال string وهذا معناه أنه لا يمكن تخزين كائنات معقدة في الكوكي مثل ال HashTables وال DataSets


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

    VB.NET
    session("name")="Value"


    C#
    Session["Name"]="Value";

    وعند الاسترجاع نعكس اليمن شمال والشمال يمن




    أختكم إيناس

    شكرا جزيلا يا أستاذي الفاضل





    التعديل الأخير تم بواسطة خليل سليم ; 28-09-2007 الساعة 03:50 AM سبب آخر: أخطاء برمجية
    __________________
    بريدي :khalilme (at) hotmail.com
    مطور: ASP.NET, Windows Phone , Desktop Applications


  2. #2

    تاريخ التسجيل
    Jun 2006
    المشاركات
    1,370


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





    __________________
    @_@

  3. #3
    عضو سوبر نشيط
    تاريخ التسجيل
    Mar 2000
    المشاركات
    762


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





    __________________
    Eng.Fedail
    Computer and Electronics Engineer

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











  5. بارك الله فيكما ... معلومات قيمه ...










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

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

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