حریم خصوصی مرورگر

بررسی سرآیندهای HTTP

آنچه سرور از درخواست مرورگر دریافت کرده با داده‌های اعلام‌شدهٔ JavaScript مقایسه کنید.

رازها طبق قواعد پوشیده‌اند. Authorization، Cookie و سرآیندهایی که کلید، توکن، راز یا امضا شناخته شوند پیش از نمایش پوشانده می‌شوند. قواعد نام همهٔ رازها را نمی‌یابند. ابزار گزارش برنامه نمی‌نویسد؛ زیرساخت سرور ممکن است لاگ خود را داشته باشد.

تحلیل درخواست صفحهٔ دریافتی…

درخواست و شبکه

TLS و HTTP

JavaScript Client Hints

وضعیت
در حال خواندن…

سرآیندهای دریافتی

ناممقدار قابل نمایشدستهخواندن

یافته‌ها و محدودیت‌ها

  • در حال تحلیل.

سرآیند Via, Forwarded, X-Forwarded-For یا فیلد ویژهٔ CDN اطلاعات اعلام‌شده دارد. قابل افزودن، حذف یا جعل است؛ حضور به‌تنهایی پروکسی ناشناس را ثابت نمی‌کند.

مقایسهٔ قبل و بعد

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

برای مقایسه، یک نتیجهٔ قبل و یک نتیجهٔ بعد ذخیره کنید.

این آزمایش چه چیزی نشان می‌دهد؟

سرآیندها ترجیحات و زمینهٔ درخواست را به سرور می‌رسانند. این ابزار آنچه سرور ما واقعاً دریافت کرده نشان می‌دهد؛ نه همهٔ آنچه در هر نقطهٔ مسیر وجود داشته است. پراکسی یا CDN می‌تواند فیلدها را تغییر دهد. وجود سرآیند پراکسی هم به‌تنهایی نوع واسطه یا IP قابل اعتماد را تعیین نمی‌کند.

روش اجرای آزمایش

  1. صفحه را در مرورگر و نمایهٔ مورد نظر باز کنید و درخواست ناوبری را ثبت کنید.
  2. بررسی درخواست fetch و داده‌های Client Hints را اجرا کنید.
  3. ناوبری، fetch و JavaScript را جدا مقایسه کنید؛ مقادیر پوشانده‌شده یا دریافت‌نشده را ببینید.

روش اندازه‌گیری

سرور ما سرآیندهای رسیده به این مبدأ را برای درخواست‌ها گزارش می‌کند. JavaScript هم Client Hints، سرنخ‌های اعلامی مرورگر، را جدا می‌خواند؛ دو نقطهٔ مشاهده الزاماً یکسان نیستند.

مقادیر Authorization، Proxy-Authorization و Cookie و نام‌های شناخته‌شده در قواعد کلید، توکن، راز و امضا پوشانده می‌شوند. Via، Forwarded و X-Forwarded-For طبق همین سیاست می‌توانند دیده شوند. این قواعد همهٔ اطلاعات محرمانه را تشخیص نمی‌دهند و زیرساخت ممکن است گزارش‌های ثبت‌شدهٔ جداگانه داشته باشد.

تفسیر نتایج

مقادیر سازگار
فیلدهای قابل مقایسه در این درخواست‌ها مشابه‌اند. این همهٔ مقصدها یا مسیرهای مرورگر را پوشش نمی‌دهد.
اختلاف بین درخواست‌ها
نوع درخواست، سیاست مرورگر یا واسطه می‌تواند علت باشد. فیلد و نقطهٔ مشاهدهٔ دقیق را بررسی کنید.
فیلد غایب یا پوشانده‌شده
ممکن است ارسال نشده، پشتیبانی نشده یا برای حفاظت مقدار آن مخفی شده باشد؛ این حالت‌ها یکسان نیستند.

مقایسهٔ قبل و بعد

  1. با همان دستگاه، نمایه و مبدأ، ناوبری و fetch پایه را ثبت کنید.
  2. یک تنظیم مرورگر یا مسیر مرتبط را تغییر دهید و همان درخواست‌ها را تکرار کنید.
  3. فیلد هم‌نام را در همان نوع درخواست مقایسه کنید؛ نبود Client Hint در نخستین بازدید می‌تواند به سیاست مقصد مربوط باشد.

محدودیت‌های آزمایش

  • این نمایش بسته‌های شبکه یا سرآیندهای قبل از تغییر توسط واسطه را بازسازی نمی‌کند.
  • User-Agent و ترجیح زبان دادهٔ اعلام‌شده‌اند و هویت قطعی دستگاه یا کاربر نیستند.

تغییرات لازم در صورت نیاز

زبان یا هویت اعلام‌شده ناخواسته است
تنظیمات مربوط مرورگر یا افزونهٔ تغییر سرآیند را بررسی کنید و پس از تغییر ضروری تکرار کنید.
مقدار پراکسی برخلاف انتظار دیده می‌شود
منبع و قواعد اعتماد مسیر را بررسی کنید؛ از سرآیند تأییدنشده، IP واقعی نتیجه نگیرید.

پرسش‌های رایج

آیا این همهٔ سرآیندهای ارسال‌شده را نشان می‌دهد؟

آنچه سرور ما دریافت کرده نمایش داده می‌شود؛ واسطه می‌تواند سرآیندها را پیش از رسیدن تغییر داده باشد.

چرا مقدار Cookie را نمی‌بینم؟

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

منابع و ارجاع‌های فنی