ما هو Browser Storage Fingerprinting؟ localStorage وبصمة التتبع
المتصفح والجهاز

ما هو Browser Storage Fingerprinting؟ localStorage وبصمة التتبع

اكتشف كيف يستخدم التتبع localStorage وsessionStorage وindexedDB لبناء بصمة مستمرة تتخطى وضع التصفح الخاص.

8 دقائق قراءة·

Browser Storage Fingerprinting (بصمة تخزين المتصفح) أسلوب تتبع يزرع معرّفات مستمرة داخل تخزين متصفحك الخاص — localStorage وsessionStorage وIndexedDB والكوكيز — ثم يقرأها في كل زيارة عودة. على عكس بصمة الأجهزة، يظل التتبع عبر التخزين قائماً بعد حذف الكوكيز لأنه ينتشر عبر طبقات تخزين متعددة في آنٍ واحد. يمكنك التحقق مما يكشفه متصفحك الآن على whatsmy.fyi.

ملخص سريع

تعمل بصمة تخزين المتصفح بكتابة معرّف فريد في localStorage وsessionStorage وIndexedDB والكوكيز في آنٍ واحد. عندما تحذف أحدها، يُعيد المتتبع بناءه من الأخرى. تقنيات مثل Evercookie تُوسّع هذا عبر أكثر من 16 ناقل تخزين، مما يجعل المعرّف شبه مستحيل المسح بدون أدوات متخصصة. المتصفحات الحديثة تواجه هذا بتقسيم التخزين — عزل كل دلو تخزين لكل نطاق ذي مستوى أعلى بحيث يصبح التتبع عبر المواقع مستحيلاً هيكلياً.

ما هو Browser Storage Fingerprinting؟

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

ما يميّز بصمة التخزين عن كوكيز تتبع بسيطة هو التكرار. الكوكيز التقليدية خانة تخزين واحدة. بصمة التخزين تكتب نفس المعرّف في اثني عشر آلية تخزين مختلفة في آنٍ واحد. عندما تمسح الكوكيز، يبقى المعرّف في localStorage. عندما تمسح localStorage، يبقى في IndexedDB. عندما تمسح IndexedDB، يقرأ المتتبع أي ناقل لا يزال يحتفظ بالبيانات ويُعيد الكتابة على الباقي. تُعرّف أداة EFF Cover Your Tracks إعادة إحياء التخزين كأصعب أساليب التتبع التي يصعب على المستخدمين العاديين تحييدها.

كيف تعمل بصمة تخزين المتصفح؟

تتبع بصمة التخزين حلقة قراءة-كتابة عبر أربعة آليات تخزين متصفح رئيسية، لكل منها خصائص استمرارية مختلفة.

الخطوة 1 — توليد المعرّف

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

الخطوة 2 — الكتابة على طبقات تخزين متعددة

يُخزَّن نفس المعرّف في localStorage (مستمر، محدود بالأصل)، وsessionStorage (محدود بعلامة التبويب، يُمسح عند إغلاق علامة التبويب)، وIndexedDB (قاعدة بيانات منظّمة، حصة أكبر)، وكوكيز HTTP (يُرسَل مع كل طلب، يمكن الوصول إليه من الخادم). تكتب التطبيقات المتقدمة أيضاً على ETags وإدخالات HSTS وذاكرة التخزين المؤقت للمتصفح وwindow.name — الذي يستمر عبر التنقلات بين الصفحات داخل نفس علامة التبويب.

// Simplified multi-vector storage write
const trackingId = crypto.randomUUID();

// Persistent — survives browser restarts, cookie deletion
localStorage.setItem('_tid', trackingId);

// Tab-scoped — survives navigation within the tab
sessionStorage.setItem('_tid', trackingId);

// IndexedDB — structured, larger storage quota
const db = await openDB('tracker', 1, {
  upgrade(db) { db.createObjectStore('ids'); }
});
await db.put('ids', trackingId, 'primary');

// HTTP cookie — server-readable, cross-request
document.cookie = `_tid=${trackingId}; max-age=31536000; SameSite=Lax`;

الخطوة 3 — القراءة في الزيارات العائدة

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

الخطوة 4 — القناة الجانبية لترتيب IndexedDB

بعيداً عن تتبع القراءة-الكتابة البسيط، اكتُشف في 2025 ثغرة أكثر خفاءً وثّقها باحثو Fingerprint.com. كانت indexedDB.databases() API في Firefox تُعيد أسماء قواعد البيانات بترتيب غير عشوائي محدَّد بجدول هاش داخلي — قناة جانبية محدودة بالعملية. كان بإمكان مواقع غير مترابطة استدعاء هذه الواجهة بشكل مستقل ورصد نفس الترتيب، مما يربط المستخدم عبر أصول مختلفة دون قراءة أو كتابة أي بيانات تخزين فعلية. سُدّت الثغرة (CVE-2026-6770) في Firefox 150 وTor Browser 15.0.10 بتوحيد النتائج بترتيب أبجدي قبل إعادتها.

Evercookie: الحالة المتطرفة

Evercookie مكتبة إثبات مفهوم أنشأها باحث الأمن Samy Kamkar تُثبت النطاق الكامل لإعادة الإحياء القائمة على التخزين. تُخزّن معرّفاً في آنٍ واحد عبر 16 ناقل أو أكثر: كوكيز HTTP، localStorage، sessionStorage، IndexedDB، Web SQL Database، Flash Local Shared Objects، Silverlight Isolated Storage، CSS history، ETags، ذاكرة التخزين المؤقت للمتصفح، رأسيات HSTS، window.name، ترميز بكسل PNG، وتخزين Java applet. عندما تُحذف أي مجموعة فرعية من هذه، تُعيد المكتبة بناء المعرّف الكامل من أي نواقل نجت. في 2014، رُصدت تقنيات Evercookie القائمة على IndexedDB على weibo.com في الإنتاج، مما يمثّل أول استخدام تجاري مؤكد لهذا الأسلوب.

إحصاءات بصمة التخزين

النتيجةالقيمةالمصدر
أكبر 1,000 موقع يتشارك البيانات عبر البصمة60%+إحصاء الويب لجامعة برينستون
المواقع الشعبية التي تستخدم البصمة صراحةً3.5%دراسة قياس Mozilla
معدل التعريف الفريد عبر مجموعات البيانات الكبيرة94%+EFF Cover Your Tracks
إنتروبيا المعلومات من إشارات البصمة المركّبة18.1 بتEckersley، 2010 — دراسة البصمة التأسيسية
دقة بصمة سطح المكتب91.45%مؤتمر ACM لقياس الإنترنت، 2025
دقة بصمة الهاتف المحمول37.16%مؤتمر ACM لقياس الإنترنت، 2025

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

من يستخدم بصمة تخزين المتصفح في الواقع؟

شبكات الإعلانات وإعادة الاستهداف

تستخدم شركات ad-tech معرّفات قائمة على التخزين لربط نشاط تصفح المستخدم عبر مواقع مختلفة دون الاعتماد على ملفات تعريف ارتباط من أطراف ثالثة، التي محجوبة بشكل افتراضي في Firefox وSafari ومُهمَلة في Chrome. مفتاح localStorage مشترك أو سجل IndexedDB داخل iframe من طرف ثالث يحقق نفس التعريف عبر المواقع كالكوكيز من الأطراف الثالثة — إلا إذا طبّق المتصفح تقسيم التخزين.

كشف الاحتيال وأمن الحسابات

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

تطبيق الجدار المدفوع والمحتوى المقيس

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

التحليلات وإعادة بناء الجلسة

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

هل بصمة تخزين المتصفح قانونية؟

بموجب GDPR في أوروبا، أي بيانات يمكن استخدامها لتعريف فرد — بما فيها معرّفات الأجهزة المخزّنة في localStorage أو IndexedDB — تُشكّل بيانات شخصية. أكّد مكتب المفوض لمعلومات المملكة المتحدة في توجيهات يناير 2025 أن localStorage وsessionStorage وIndexedDB تخضع لنفس قواعد PECR كالكوكيز، مما يستلزم موافقة مستنيرة أو مسوّغ مصلحة مشروعة ضيق. خلصت السلطة الفرنسية لحماية البيانات (CNIL) إلى نفس الاستنتاج، مسمّيةً تخزين المتصفح كناقل تتبع يخضع لمتطلبات الموافقة المسبقة.

يُصنّف توجيه W3C لبصمة الإصبع الاستمرارية بأسلوب localStorage كـ "بصمة شبيهة بالكوكيز" — الفئة الأكثر مباشرةً للتتبع — ويوصي مؤلفي المواصفات بالنظر في كيفية تقسيم أو تقييد واجهات التخزين API للحدّ من سطح البصمة المتاح للسكريبتات.

كيف تحمي نفسك من بصمة تخزين المتصفح

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

  • تفعيل Total Cookie Protection (Firefox): تُفعّل حماية التتبع المحسّنة في Firefox في وضع صارم تقسيم الحالة — كل موقع يحصل على دلو تخزين معزول خاص به. لا يمكن قراءة إدخال localStorage لأداة تتبع في foo.com عندما تُحمَّل نفس الأداة داخل bar.com. هذه أكثر حماية فعّالة ضد تتبع التخزين عبر المواقع ومُفعَّلة بشكل افتراضي في Firefox في الوضع القياسي للمتتبعين المعروفين.
  • استخدام Safari (أي إصدار مع ITP): تقسّم منع التتبع الذكي في Safari localStorage وIndexedDB وCache API وتخزين Blob URL حسب الموقع ذي المستوى الأعلى، وتُخلي بشكل استباقي بيانات التخزين من الأصول التي لم يتفاعل معها المستخدم لمدة 7 أيام. التتبع عبر المواقع القائم على التخزين محجوب هيكلياً بشكل افتراضي.
  • استخدام متصفح Brave: يحجب Brave البصمة بشكل افتراضي ويطبّق تقسيم التخزين ويسمح بتخصيص لكل موقع. لوحة Shields تمنحك تحكماً دقيقاً في أي نواقل تتبع مسموحة.
  • مسح جميع بيانات الموقع، وليس الكوكيز فقط: عادةً ما يمسح حذف التاريخ الكوكيز لكن يترك localStorage وIndexedDB سليمَين. في Chrome وFirefox، استخدم أدوات المطوّر (علامة التبويب Application → Storage → Clear site data) أو قائمة "مسح بيانات التصفح" في المتصفح مع خيار "الصور المخزّنة والكوكيز وبيانات المواقع الأخرى" لمسح جميع التخزين دفعةً واحدة.
  • استخدام إضافة الحاوية (Firefox Multi-Account Containers): حاويات Firefox تعزل تخزين كل حاوية عن كل حاوية أخرى. تشغيل وسائل التواصل الاجتماعي في حاوية والتصفح العام في حاوية أخرى يمنع متتبعي وسائل التواصل الاجتماعي من قراءة قيم localStorage المضبوطة أثناء تصفحك العام.
  • متصفح Tor (أقوى حماية): يمسح Tor Browser جميع التخزين في كل إجراء "هوية جديدة"، ويطبّق تقسيم التخزين، ويستخدم ملف تعريف متصفح موحّد مشترك بين جميع مستخدمي Tor. لاحظ أن ثغرة ترتيب IndexedDB (CVE-2026-6770) المذكورة أعلاه أثّرت على Tor Browser قبل الإصدار 15.0.10؛ قم بالتحديث إلى الإصدار الحالي إذا كنت تستخدم Tor.
  • تعطيل iframes من الأطراف الثالثة / JavaScript بشكل انتقائي: معظم تتبع التخزين عبر المواقع يعمل عبر سكريبتات من أطراف ثالثة محمّلة داخل iframes. uBlock Origin في الوضع المتوسط يحجب معظم هذه النواقل بمنع تحميل سكريبتات الأطراف الثالثة كلياً.

الأسئلة الشائعة

هل مسح الكوكيز كافٍ لمنع بصمة التخزين؟

لا. مسح الكوكيز الخطوة الدنيا، وليست حلاً كاملاً. تنشر بصمة التخزين المعرّف عمداً عبر localStorage وsessionStorage وIndexedDB والكوكيز في آنٍ واحد. مسح الكوكيز فقط يترك المعرّف سليماً في النواقل الثلاثة الأخرى. في الزيارة التالية، يقرأ المتتبع النسخة الناجية ويُعيد كتابة الكوكيز. يجب مسح جميع بيانات الموقع — وليس الكوكيز فقط — لإزالة معرّف قائم على التخزين، وحتى عندها سيُعيد المتتبع إنشاؤه في المرة القادمة التي تزور فيها الموقع.

هل يحمي وضع التصفح الخاص من بصمة التخزين؟

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

ما الفرق بين localStorage وsessionStorage؟

كلتاهما تكشفان نفس الواجهة (setItem، getItem، removeItem)، لكن استمراريتهما تختلف. يستمر localStorage حتى يُمسح صراحةً، يظل قائماً عبر إعادة تشغيل المتصفح، ومشترك عبر جميع علامات التبويب لنفس الأصل. sessionStorage معزول لعلامة التبويب الحالية ويُحذف تلقائياً عند إغلاق علامة التبويب. لأغراض التتبع، localStorage ناقل القيمة الأعلى لأنه يظل عبر جلسات متعددة.

ما الذي يجعل IndexedDB أكثر خطورة من localStorage للتتبع؟

يدعم IndexedDB البيانات المنظّمة بحصص تخزين أكبر (عادةً 80% من مساحة القرص المتاحة مقابل بضعة ميغابايتات لـ localStorage). والأهم، أثبتت ثغرة IndexedDB لعام 2025 أن IndexedDB يمكن استغلاله كقناة جانبية حتى بدون قراءة أو كتابة بيانات تتبع — كان الترتيب الداخلي لأسماء قواعد البيانات نفسه معرّفاً ثابتاً يمكن رصده من أصول غير مترابطة. localStorage ليس له قناة جانبية مشتقة هيكلياً مماثلة. سُدّت الثغرة في Firefox 150 وTor Browser 15.0.10.

هل يمكن لـ VPN منع بصمة تخزين المتصفح؟

لا. يُوجّه VPN حركتك عبر نفق مشفّر ويغيّر عنوان IP المرئي لديك، لكنه لا يملك وصولاً إلى تخزين متصفحك. JavaScript الذي يعمل في متصفحك يقرأ ويكتب localStorage وIndexedDB محلياً كلياً — لا تورط شبكي في خطوة القراءة. VPN فعّال ضد تتبع التحديد الجغرافي القائم على IP لكنه يوفر صفر حماية ضد التتبع القائم على التخزين أو الأجهزة. تحقق مما إذا كان VPN الخاص بك يعمل بشكل صحيح على whatsmy.fyi.

كيف ترتبط بصمة التخزين بـ Canvas أو WebGL؟

تمثّل بصمة التخزين و بصمة Canvas طرفَي طيف التتبع. بصمة التخزين "شبيهة بالكوكيز" — تكتب شيئاً على جهازك وتقرأه لاحقاً. بصمة Canvas و WebGL "عديمة الحالة" — تُعيد بناء هويتك من خصائص الأجهزة دون تخزين أي شيء. تجمع منصات التتبع التجارية كلا الأسلوبين: التخزين يمنحها معرّفاً سريعاً وثابتاً؛ بصمة الأجهزة تتيح إعادة تعريفك حتى بعد مسح التخزين الكامل. المزيج أكثر مرونة بكثير من أي تقنية منفردة.

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

تحقق من عنوان IP وموقعك ودرجة الخصوصية — فوراً.

صفر سجلات. صفر تتبع. صفر APIs خارجية.

ابدأ الفحص الآن →

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

ما هو Browser Storage Fingerprinting؟ localStorage وبصمة التتبع | whatsmy.fyi