خروجی 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

هر دو فرمان از همان پرونده کوکی استفاده می‌کنند و دومی نشانی مبدأ محلی متفاوتی را در جایی که میزبان اجازه دهد تحمیل می‌کند. پاسخ سبد در هر دو حالت یکی است چون سرور هرگز هویت مشتری متفاوتی ندید، فقط مسیر متفاوتی دید. این همان سازوکار در یک جفت درخواست تکرارپذیر است.

اگر هدف دیدن این است که آیا سایت شما را بدون وضعیت ذخیره‌شده می‌شناسد، داده‌های آن سایت را پاک کنید و تکرار کنید. اگر هنوز شما را می‌شناسد، مشکوک‌های بعدی حساب واردشده، پیوندی که دنبال کردید یا ویژگی‌های مرورگر هستند، نه کوکی.

وضعیت درست را پاک کنید، نه شبکه را

حذف انبار یک سایت به کنترل‌های خود مرورگر مربوط است و اغلب به‌عنوان اثر جانبی شما را خارج می‌کند یا ترجیحات را بازنشانی می‌کند. حساب یا پرونده‌هایی را که سرویس از پیش نگه می‌دارد حذف نمی‌کند؛ آن‌ها به فرایند خود سرویس نیاز دارند.

محدودیت‌های میان‌سایتی بخش دیگری از مسئله را حل می‌کنند. مرورگرها می‌توانند انباری را که سرویس‌های جاسازی‌شده در غیر این صورت میان سایت‌ها به اشتراک می‌گذاشتند مسدود یا تفکیک کنند، در حالی که ورود از طرف اول همچنان کار می‌کند. پس ورود موفق مدرکی بر کارکرد ردیابی میان‌سایتی نیست.

پنجره‌های ناشناس ابزار دیگری با دامنه‌ای باریک‌تر از آنچه مردم انتظار دارند هستند. سایت‌ها همچنان می‌توانند در طول نشست کوکی بگذارند و ورود همچنان حساب را شناسایی می‌کند. پایان دادن به نشست ناشناس است که وضعیت موقت را دور می‌ریزد، یعنی باید همه پنجره‌های ناشناس را بست، نه یک زبانه.

در پایان، شناسایی از راه اثر انگشت را به‌عنوان یک احتمال ببینید، نه نخستین توضیح. ویژگی‌های دستگاه و مرورگر می‌توانند بازدیدها را بدون هیچ کوکی ذخیره‌شده به هم پیوند دهند و پاک کردن انبار به آن‌ها دست نمی‌زند. نخست علت‌های ساده را بررسی کنید، سپس دامنه بررسی را گسترده‌تر کنید و یادداشت کنید کدام وضعیت را تغییر دادید تا مقایسه بعدی معنادار باشد.

مقالات مرتبط