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

ثلاثة أسئلة وعرَض واحد

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

What you changedWhat it actually tests
VPN exit addressWhether the site treats a different network origin differently
Cookie jar for one siteWhether a stored identifier was doing the recognition
Browser profile or accountWhether identity, rather than storage, links the visits

معظم الالتباس يأتي من تغيير الأول وتوقّع أن يتبعه الثاني. عنوان الشبكة ومخزن المتصفح نظامان منفصلان تصادف أنهما يُستخدمان من الصفحة نفسها.

ما يحمله الكوكي فعلًا

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

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

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

حدّد ما يقيسه اختبارك

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

curl -sS -c /tmp/jar.txt -b /tmp/jar.txt -o /dev/null -w '%{http_code}\n' https://shop.example/cart
curl -sS -c /tmp/jar.txt -b /tmp/jar.txt -o /dev/null -w '%{http_code}\n' --interface 198.51.100.44 https://shop.example/cart

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

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

امسح الحالة الصحيحة، لا الشبكة

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

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

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

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

مقالات ذات صلة