18 تغريدة 115 قراءة Jun 21, 2020
هذا الثريد بتكلم فيه عن الـ Cookies وراح اتطرق فيه ايضا للـ Session.
قيمة المعلومات اللي بأطرحها تأكد اذا انت فاهم الكوكيز او لا .
بحاول افصل تفصيل ممل بسيط " ماني محضر سكرين شوت وكذا " بضرب أمثلة .
اولا عشان نبسطها قبل مانفصل بالـ Request و الـResponse بينك وبين السيرفر ، ايش فكرة الكوكيز ؟ وايش الفرق بينه وبين السيشن ؟
الكوكيز بـ اختصار "قيمة بالمتصفح حقك فيها بيانات الدخول " هذي القيمة موجودة بـ Cookie jar .
اما السيشن "جلسة بالسيرفر فيها بيانات دخولك.
انت فتحت المتصفح وليكن فايرفوكس،ومن جهازك ارسلت طلب أول مرة لـ الويب سيرفر حق تويتر فيه بيانات دخولك اليوزر والباس، جاك الرد من السيرفر حق تويتر .
معلومات الطلب حقتك ممكن تخزنها بالمتصفح بـ ( cookie jar)،عشان اذا رسلت طلب مرة اخرى راح ترسله بالـCookie ولا راح تسجل دخول مرة أخرى
طبعا راح تحتفظ بالـ Cookie بعد عملية الـ التحقق بينك وبين السيرفر .
الكوكيز اللي تحفظها أنت بالمتصفح حقك
فيه ٦ قيم لابد إنك تعرفها .
1-Domain
2-Expires
3-Path
4-Content
5-HTTP Only Flag
6-Secure Flag
خلونا نشوف وش الـ٦ قيم هذي .
اول قيمة الـDomain ، والمقصود بها ان الكوكي تكون متاحة فقط لدومين واحد .
مثال :
Facebook .com هذا دومين .
Google. com هذا دومين .
الكوكي اللي انت تحفظها بالمتصفح ماتكون لدومينين مختلفين .
لكن من الممكن تكون قيمة الكوكي للدومين الاساسي والسب دومين .
مثال :
Google .com*
Map.google.com
Drive.google.com
يعني اذا انت دخلت فيس بوك وحفظت الكوكي بالمتصفح ، هذا يعني انه راح يستخدمها المتصفح مع كل سب دومين من الدومين الرئيسي فيسبوك. .
لكن هل المتصفح بيستخدمها مع دومين مختلف مثل قوقل ؟ لا .
القيمة الثانية الـ Expires.
معناها بـ اختصار ان الكوكي رايح يصير لها exit بعد كم من الوقت ؟
يعني اذا رسلت الكوكي للسيرفر هل بتكون شغاله ؟ ولا بيصير لها expire بعد فترة.
القيمة الثالثة اللي هي الـ Path .
والمقصود بها "المسار" او تحديد كوكي لمسار معين - مثال
Facebook.com
هنا حددت ان الكوكي لمسار محدد وهو التنزيلات واي شيء بعده هذا المسار .
مثال:
Facebook.com
Facebook.com
وهكذا .
القيمة الرابعه الـ Content :
هذا فيه الـ Key=value
اليوزر والحالة :
مثال :
Set-cookie: Username=“MrKhaled”; Authenticated =“1”
فيه اليوزر والحالة بعد ماتم التحقق بيني وبين تويتر او فيسبوك .
HttpOnly flag
الفلاق هذا مهم جدا .
لمن ترسله بالريكوست يقول للمتصفح حقك اانك راح ترسل الكوكي حقتك في حال ان الويب سايت اللي رايح له شغال بـ HTML .
في حال ان الويب سايت بيستلم منك الكوكي بكل الاحوال مثل (جافا سكريبت ، فلاش ، جافا ) اي شيء غير Html.
ممكن تتعرض ل اتاك Xss.
Secure flag
بإختصار شديد انك راح ترسل الكوكي بواسطة الـ HTTPS , وليس HTTP.
الان بنرجع نفصل بالـ Cookie domain:
الكوكي راح تنرسل من جهازك الى الدستنيشن في حالة :
١- cookie domain value =target domain
ببساطة انت رايح لسيرفر والكوكي domain راح تنرسل✅.
٢- الكوكي مختلفة عن الدومين لكن تعتبر sub domain .
النقطة الثانيه مهمة جدا وشرحها كالتالي :
اذا كان الدستنيشن سب دومين والكوكي للدومين الاساسي فماراح تشتغل .
مثال :
Destination ==map .google.com
Cookie == google. com
it’s not work .
لكن العكس صحيح .
Destination == google .com
Cookie == map. google. com
it’s work ✅.
خلوني اعطيكم مثال على الامور اللي شرحتها :
لمن ترسل طلب لتويتر او فيس بوك او اي موقع ماراح احدد وفيه اليوزر والباس كيف شكل الطلب :
POST / login.php
Host: www .twitter .com
usr=Mrkhaled&Pas=123456
الرد يجيني من تويتر بالشكل التالي :
HTTP /1.1 200Ok
......
Set-Cookie: domain=twitter .com ; path=/; expires=expires =Sun ;
21-june-2020 03:45:55 Gmt ; Authenticated =‘1’ ; httponly; secure;
<page content>
مثل ماتشوفون الـ ٦ قيم اللي شرحتها بتجيني كرد من سيرفر تويتر وراح احفظها عندي بالمتصفح .
شفت من المهم معرفة هالامور الاساسية ، ولو تقرون عن الموضوع بتستمتعون اكثر.
مايسعني بالنهاية الا اني اقول حاولت قد ماقدر اني ابسط الموضوع .
ولنا ثريد ان شاء الله يخص السيشن .
فمان الله🌷.

جاري تحميل الاقتراحات...