ماهو كوكيز (Cookies) في اللغة php
الكاتب: Mr.Aziz
تاريخ النشر: 2022-10-25 10:37:44
مساء الخير
أخر مره تحدثنا عن session و ألان سوف نتحدث عن cookies
كلاهما نفس بعض ولكن في بعض الامور تختلف بين cookies و session
ماهو الفرق بينهم؟
session تعلمنا انه يخزن معلومات المستخدم في السيرفر و يصبح من ألاستحاله يتم تعديل عليها و لايسمح لك نهائي.
ولكن cookies يتم تخزين المعلومات المستخدم في جهاز المستخدم ولكن بأمكان المستخدم تعديل عليها متى ماأراد عن طريق inspect
هل cookies يعتبر خطر من ناحية أمنية؟ نعم يعتبر لانه بسهوله يتم تعديل عليها في حال وجود معلومات حساسه. سوف اشرح عنها لاحقآ.
ولكن Session لايمكن تعديل عليها و يعتبر أمن بالنسبه المعلومات الحساسة مثلآ تسجيل الدخول أو تحقق من المستخدم أذا كان اداري او لا وغيره...
طريقة كتابة cookies أو تعريف لها setcookies
مثال:
username متغير و Aziz يعتبر قيمة
الان لديك متغير username ولكن القيمة فيها هو ايش؟ Aziz
time هو عباره عن الوقت مثل ماهو مكتوب Time()+30 تعني يوم كامل ينتهي cookies.
بعد كذا نكتب الشرط ليتم أظهار القيمة بداخل username
راح تلاحظ أستخدمت $_cookies هذا دالة محجوزه مثل $_session و يتم استخدام نفس الطريقة.
الان نعمل طباعة و يظهر لنا بهذا الشكل..
بتلاحظ تحت مكتوب hello mr.aziz لانه القيمة كانت aziz في cookies
هل يمكن تعديلها من المتصفح ونجعلها Abdulaziz؟ نعم عن طريق inspect
مثال:
بهذي الطريقة يتم تغير القيمة ولكن هنا لايعتبر أمر خطير لانه محفوظ بالمتصفح.
ألان راح أعمل سيناريو أخر ولكن هذا غرض تعليمي فقط و لتصبح مطور ممتاز.
ألان نتخيل لدينا لوحة تحكم و تكون مخفية و ايضآ تكون متاحة المدراء فقط.
نعمل هذي طريقة في كوكيز على سبيل المثال:
الان وضعت setcookies المتغير هو is_Admin والقيمة 0 تعني false
و نعمل شرط اذا كان المستخدم Admin راح يصير 1 و خلينا نتخيل الان احنا مستخدمين عاديين و القيمة بتكون 0
لما ندخل الموقع بيكون بهذا المنظر...
زي ماتلاحظون الان القيمة هو 0 تمام.
و كلمة لوحة التحكم ليست ظاهره لدي...
فرضآ لو ابي اشوف لوحة التحكم و اغير القيمة الى 1
نشوف وش راح يحصل..
زي ماتلاحظ ألان ظهرت لنا اللوحة التحكم يعني عملت نفسي أنا الاداري ولكن ليست اداري.
هنا يعتبر خطوره و يعتبر نوعآ ما ثغره لانه تظهر المعلومات الحساسة او اماكن الحساسه فقط.
و ينصح دائمآ أستخدام الاشياء الحساسه في session ولكن أشياء بسيطة مثل زر يعمل light و dark يفضل يكون cookies بحيث بكل مره يدخل. الوضع بيكون نفس ماهو كاأخر مره..
أشوفكم على خير