ما هي الكوكيز؟ كيف تتذكّرك مواقع الويب
الكوكي قطعة نصية صغيرة يطلب موقع من متصفحك تخزينها، ثم يعيدها المتصفح إلى الموقع نفسه في كل زيارة لاحقة. وبهذه الطريقة يتذكّر الموقع أنك مسجّل للدخول، وما في سلتك، واللغة التي اخترتها. والكوكيز بيانات وليست برامج، لكنها بما أنها تستطيع التعرّف عليك، فهي مهمة للأمان والخصوصية معاً.
لماذا تهم عندما تبني بالذكاء الاصطناعي
تقع الكوكيز تحت عدة ميزات تطلبها من منشئ تطبيقات بالذكاء الاصطناعي، غالباً دون أن تُذكر كلمة «كوكي» أبداً:
- تسجيل الدخول. في معظم تطبيقات الويب، يعني «ابقَ مسجلاً للدخول» كوكي جلسة. وطريقة إعداد هذه الكوكي تحدد مدى سهولة سرقتها.
- السلال والتفضيلات. السلة التي تبقى بعد تحديث الصفحة تعتمد غالباً على كوكي أو على تخزين المتصفح.
- التحليلات والإعلانات. إضافة Google Analytics أو بكسل Meta أو أداة محادثة مباشرة تضيف عادةً كوكيز من شركات أخرى.
- الإشعارات القانونية. في أماكن كثيرة، تحتاج بعض الكوكيز إلى موافقة الزائر أولاً، ومن هنا تأتي شرائط الموافقة على الكوكيز.
إذا عرفت ما الكوكيز التي يضعها تطبيقك ولماذا، فيمكنك اتخاذ قرارات أفضل بشأن إعدادات الأمان والموافقة وسياسة الخصوصية.
تشبيه يومي
فكّر في تذكرة الجاكيت في دار المناسبات. تسلّم معطفك وتحصل على تذكرة مرقّمة. والتذكرة لا تحتوي على معطفك، بل مجرد رقم. وكلما عدت إلى المنضدة تُظهر التذكرة، فيعرف الموظف أي معطف يخصّك.
تعمل كوكي الجلسة بالطريقة نفسها. عندما تسجّل الدخول، يحتفظ الخادم بتفاصيلك من جهته، ويعطي متصفحك تذكرة، وهي معرّف عشوائي طويل. ويعرض متصفحك هذه التذكرة مع كل طلب، فيبحث الخادم عن هويتك. ومن ينسخ التذكرة يستطيع استلام المعطف، ولهذا يجب حماية كوكيز تسجيل الدخول.
كيف تعمل الكوكي فعلياً
- تزور موقعاً. تتضمن استجابة الخادم ترويسة مثل
Set-Cookie: session_id=8f3k...; HttpOnly; Secure; SameSite=Lax. - يخزّنها متصفحك مرتبطةً بنطاق ذلك الموقع.
- في كل طلب لاحق إلى الموقع نفسه، يضيف المتصفح تلقائياً
Cookie: session_id=8f3k.... - يقرأها الخادم فيعرف أنك أنت.
ويمكن لشيفرة JavaScript في الصفحة أن تنشئ كوكيز أيضاً، لكن أهم الكوكيز، أي كوكيز تسجيل الدخول، يجب أن يضعها الخادم ويخفيها عن JavaScript.
أنواع الكوكيز
| النوع | ماذا يعني | مثال |
|---|---|---|
| كوكي الجلسة | لا تاريخ انتهاء؛ تُحذف عند إغلاق جلسة المتصفح | خطوة دفع قصيرة العمر |
| كوكي دائمة | لها تاريخ انتهاء (Expires أو Max-Age) وتبقى بعد إعادة التشغيل | «تذكّرني لمدة 30 يوماً» |
| كوكي طرف أول | يضعها الموقع الذي في شريط العنوان | تسجيل دخولك إلى ذلك الموقع |
| كوكي طرف ثالث | يضعها نطاق آخر مضمّن في الصفحة | معرّف تتبع لشبكة إعلانات |
| ضرورية | لازمة لخدمة طلبها المستخدم | جلسة تسجيل الدخول، وسلة التسوق |
| غير ضرورية | مفيدة لصاحب الموقع | التحليلات، والإعلانات، واختبارات A/B |
وقد قيّدت المتصفحات تدريجياً كوكيز الطرف الثالث لأنها تُستخدم لتتبع الناس عبر المواقع. وتحجب عدة متصفحات كبرى كثيراً منها افتراضياً الآن، وتتغير التفاصيل باستمرار، لذا لا تبنِ شيئاً مهماً على كوكيز الطرف الثالث.
مثال عملي: متجر صغير على الإنترنت
لنفترض أنك بنيت متجراً لبيع الشموع اليدوية. فيما يلي الكوكيز التي تضعها نسخة معقولة، ولماذا.
session: تُوضع عندما يسجّل المالك أو الزبون الدخول. وتحتوي فقط على معرّف عشوائي؛ ويحتفظ الخادم ببيانات الجلسة الحقيقية. الإعدادات: HttpOnly (لا تستطيع شيفرة الصفحة قراءتها)، وSecure (لا تُرسل إلا عبر HTTPS)، وSameSite=Lax (لا تُرسل في معظم الطلبات التي تبدأها مواقع أخرى). ضرورية.
cart_id: تتيح لزائر غير مسجل الاحتفاظ بسلته. تشير إلى سلة محفوظة في قاعدة البيانات. ضرورية، لأن الزائر طلب إضافة أشياء إلى السلة.
theme: تتذكّر الوضع الداكن. يمكن أن تكون كوكي، لكنها لا تحتاج أبداً إلى الوصول إلى الخادم، لذلك يكون localStorage في المتصفح أبسط.
كوكيز التحليلات: تُضاف إذا ثبّت أداة تحليلات. وهي غير ضرورية. وفي الاتحاد الأوروبي والمملكة المتحدة تحتاج عادةً إلى موافقة قبل أن تُوضع، لذلك يجب أن ينتظر سكربت التحليلات حتى يضغط الزائر على «قبول».
لاحظ ما لا يخزّنه المتجر في الكوكيز: اسم الزبون، أو عنوانه، أو بيانات بطاقته. فالكوكيز تنتقل مع كل طلب وتبقى على جهاز المستخدم، لذلك يجب أن تحتوي على معرّفات، لا على بيانات شخصية.
مصطلحات شائعة
| المصطلح | معناه |
|---|---|
| Cookie | زوج صغير من الاسم والقيمة يخزّنه المتصفح ويعيده إلى الموقع. |
Set-Cookie | ترويسة الاستجابة التي يستخدمها الخادم لإنشاء الكوكي أو تحديثها. |
| Session | سجل الخادم للمستخدم المسجّل للدخول، مرتبط بمعرّف الكوكي. |
HttpOnly | يمنع شيفرة JavaScript في الصفحة من قراءة الكوكي، فيحد من الضرر من السكربتات المحقونة. |
Secure | الكوكي لا تُرسل إلا عبر اتصالات HTTPS المشفّرة. |
SameSite | يتحكم في إرسال الكوكي مع الطلبات القادمة من مواقع أخرى (Strict أو Lax أو None). |
Expires / Max-Age | متى يجب حذف الكوكي. |
| Domain / Path | أي عناوين في الموقع تستقبل الكوكي. |
| localStorage | تخزين في المتصفح تستطيع شيفرة الصفحة قراءته، لكنه لا يُرسل إلى الخادم تلقائياً. |
| XSS | Cross-site scripting: سكربت للمهاجم يعمل داخل صفحتك، وقد يحاول سرقة البيانات. |
| CSRF | Cross-site request forgery: موقع آخر يخدع المتصفح لإرسال طلب باستخدام كوكيزك. |
| Cookie consent | طلب إذن الزوار قبل وضع كوكيز غير ضرورية. |
أخطاء شائعة ومفاهيم خاطئة
- «الكوكيز فيروسات.» إنها نص عادي، ولا تستطيع تشغيل شيفرة على حاسوبك.
- وضع بيانات حساسة في الكوكيز. خزّن معرّفاً عشوائياً واحتفظ بالتفاصيل على الخادم.
- رموز تسجيل الدخول في localStorage. أي سكربت يعمل على الصفحة يستطيع قراءة localStorage، بما في ذلك سكربت محقون. أما كوكي
HttpOnlyفلا تستطيع شيفرة الصفحة قراءتها أصلاً. - غياب العلامتين
SecureوHttpOnly. هاتان العلامتان رخيصتان وتسدّان ثغرات شائعة. - الظن بأن شريط الموافقة يغطي كل شيء. شريط يحمّل التحليلات قبل أن يضغط أحد على «قبول» لا يؤدي وظيفته.
- نسيان تسجيل الخروج. يجب أن يحذف تسجيل الخروج الكوكي وأن ينهي الجلسة على الخادم، حتى تتوقف الكوكي المنسوخة عن العمل.
- «إذا لم أستخدم الكوكيز فقواعد الخصوصية لا تنطبق.» تغطي قواعد مثل GDPR البيانات الشخصية أينما خُزّنت، بما في ذلك localStorage وبصمات الأجهزة وسجلات الخادم.
ماذا تطلب من منشئ التطبيقات بالذكاء الاصطناعي
- «اعرض كل كوكي يضبطها التطبيق، ولماذا، ومدة بقائها، وهل هي ضرورية.»
- «استخدم كوكي
HttpOnlyوSecureوSameSite=Laxلجلسة تسجيل الدخول. لا تضع رموز المصادقة في localStorage.» - «اجعل الكوكي تحمل معرّف جلسة عشوائياً فقط، واحتفظ ببيانات الجلسة على الخادم.»
- «عند تسجيل الخروج، امسح الكوكي وأبطل الجلسة على الخادم.»
- «لا تحمّل سكربتات التحليلات أو التسويق حتى يقبلها الزائر، وتذكّر اختياره.»
- «أضف قسماً بسيطاً عن الكوكيز إلى سياسة الخصوصية يطابق القائمة أعلاه.»
أما جزء الموافقة فراجع كيف تضيف موافقة على الكوكيز. ولمعرفة علاقة الكوكيز بتسجيلات الدخول، اقرأ ما هي المصادقة.
الكوكيز في Mythex
لا يوفّر Mythex تسجيل دخول مدمجاً لمستخدمي تطبيقك، لذلك تأتي الكوكيز التي يضعها تطبيقك من شيفرته الخاصة والأدوات التي تضيفها إليه، مثل كوكي جلسة من طريقة المصادقة التي تختارها. اطلب من الوكيل في المحادثة أن يعرض هذه الكوكيز، أو يشدد إعداداتها، أو يضيف شريط موافقة، وتحقق من النتيجة في المعاينة الحية قبل النشر. ووصفة إضافة تسجيل دخول إلى تطبيقك في الوثائق نقطة بداية جيدة، وتغطي الأمان للتطبيقات التي تبنيها إبقاء المفاتيح والأسرار خارج المتصفح.
الأسئلة
ما هي الكوكي في الموقع؟
الكوكي قطعة نصية صغيرة يطلب الموقع من متصفحك تخزينها، ثم يرسلها المتصفح مرة أخرى مع كل طلب لاحق إلى الموقع نفسه. وهذا يتيح للموقع تذكّر أشياء مثل ما إذا كنت مسجلاً للدخول أو ما في سلة مشترياتك.
هل الكوكيز خطرة؟
الكوكيز بيانات وليست برامج، لذلك لا يمكنها تشغيل شيفرة أو إصابة الحاسوب. أما المخاوف فتتعلق بالخصوصية، عندما تتبعك كوكيز الأطراف الثالثة عبر المواقع، وبالأمان، عندما تُسرق كوكي تسجيل الدخول ويُنتحل بها اسمك.
ما الفرق بين كوكيز الطرف الأول وكوكيز الطرف الثالث؟
كوكي الطرف الأول يضعها الموقع الذي تزوره في شريط العنوان، مثل كوكي تسجيل الدخول. أما كوكي الطرف الثالث فيضعها نطاق مختلف مضمّن في الصفحة، مثل شبكة إعلانات، وغالباً ما تُستخدم لتتبعك عبر مواقع كثيرة.
هل أحتاج إلى شريط موافقة على الكوكيز؟
يعتمد ذلك على مكان زوارك والكوكيز التي تستخدمها. في الاتحاد الأوروبي والمملكة المتحدة، تحتاج الكوكيز غير الضرورية، مثل التحليلات أو الإعلانات، عادةً إلى موافقة أولاً، أما الكوكيز الضرورية لتشغيل الخدمة، مثل جلسة تسجيل الدخول، فلا تحتاج إليها عادةً. تحقق من القواعد التي تنطبق عليك.
ما الفرق بين الكوكيز وlocalStorage؟
كلاهما يخزّن البيانات في المتصفح. ترسَل الكوكيز إلى الخادم تلقائياً مع كل طلب، لذلك تناسب تسجيلات الدخول. أما localStorage فيبقى في المتصفح ولا يقرؤه إلا شيفرة الصفحة نفسها، وهو مناسب للتفضيلات مثل السمة الداكنة أو الفاتحة.