ما هو Font Fingerprinting؟ كيف تتتبعك الخطوط المثبتة
المتصفح والجهاز

ما هو Font Fingerprinting؟ كيف تتتبعك الخطوط المثبتة

اكتشف كيف تكشف الخطوط المثبتة على جهازك عن هويتك عبر الإنترنت — بدون ملفات تعريف ارتباط أو تخزين.

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

Font fingerprinting هو أسلوب تتبع يقرأ بصمت قائمة الخطوط المثبتة على جهازك باستخدام JavaScript — دون كوكيز أو تخزين أو شيء يمكنك حذفه. مجموعة خطوطك المثبتة مميّزة بشكل مفاجئ، وتستخدمها المواقع لتعريفك عبر الجلسات والمواقع المختلفة. يمكنك رؤية الإشارات التي يكشفها متصفحك الآن على whatsmy.fyi.

ملخص سريع

يعمل font fingerprinting بقياس كيفية تصيير متصفحك للنص بمئات الخطوط المختلفة. إذا كان الخط مثبتاً، يُصيَّر النص بعرض محدد؛ وإذا لم يكن، يعود المتصفح إلى خط افتراضي بأبعاد مختلفة. باختبار 300–700 اسم خط في ملّيثوانٍ، يستطيع نص برمجي تجميع خريطة مفصّلة لخطوطك المثبتة — تركيبة مميّزة يمكنها إضافة 10–15 بت من الإنتروبيا إلى بصمتك، كافية لتمييزك عن عشرات الآلاف من المستخدمين الآخرين.

ما هو Font Fingerprinting؟

يستغل font fingerprinting حقيقة أن كل جهاز يأتي مع مجموعة مختلفة من الخطوط. الخطوط التي لديك مثبتة تعتمد على نظام تشغيلك والتطبيقات المثبتة وما إذا أضفت خطوطاً مخصصة ولغة نظامك. يأتي تثبيت macOS الجديد مع خطوط Apple المدمجة. يضيف Windows مجموعته الخاصة. مستخدم Linux يشغّل مجموعة تصميم قد يملك مئات الخطوط الإضافية من Adobe أو Google أو مصادر أخرى. كل تركيبة هي بصمة فعلياً.

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

Font fingerprinting هو إشارة واحدة ضمن المجموعة الأشمل من تقنيات بصمة المتصفح. كثيراً ما يُنشر جنباً إلى جنب مع canvas وWebGL وبصمة الصوت لبناء معرّف عالي الثقة عبر الجلسات.

كيف يعمل Font Fingerprinting؟

هناك أسلوبان تقنيان مختلفان يُستخدمان عملياً. كلاهما يحقق الهدف ذاته — اكتشاف الخطوط الموجودة — لكن من خلال واجهات برمجة تطبيقات مختلفة.

الأسلوب الأول — قياس نص CSS (measureText)

يستخدم النهج الأكثر شيوعاً طريقة measureText() من Canvas API أو تصيير CSS لقياس عرض البكسل لسلسلة مُصيَّرة بخط محدد. يُصيّر النص ثلاث مرات: مرة بخط احتياطي معروف (مثل monospace)، مرة بـ serif، ومرة بطلب الخط قيد الاختبار. إذا تطابق عرض الخط المطلوب مع الخط الاحتياطي تماماً، فالخط غير مثبت. إذا اختلف العرض، فالخط موجود ويُستخدم للتصيير.

الأسلوب الثاني — تصيير بكسل Canvas

يرسم متغيّر أكثر دقة النص على عنصر canvas مخفي بالخط المستهدف، يستخرج بيانات البكسل الناتجة بـ canvas.toDataURL()، ويقارن مخرجات البكسل بتلك التي ينتجها خط احتياطي معروف. إذا اختلفت مصفوفات البكسل، يُستخدم الخط المطلوب — مما يعني أنه مثبت.

// بصمة الخطوط المبسطة عبر measureText
function detectInstalledFonts(fontList) {
  const canvas = document.createElement('canvas');
  const ctx = canvas.getContext('2d');
  const testString = 'mmmmmmmmmmlli'; // أحرف حساسة للتباين في العرض
  const baseFonts = ['monospace', 'sans-serif', 'serif'];
  const testSize = '72px';

  // قياس عرض كل خط أساسي (عروض الخط الاحتياطي)
  const baseWidths = {};
  for (const base of baseFonts) {
    ctx.font = `${testSize} ${base}`;
    baseWidths[base] = ctx.measureText(testString).width;
  }

  const detected = [];
  for (const font of fontList) {
    for (const base of baseFonts) {
      // إذا اختلف العرض المقيس عن الخط الاحتياطي، فالخط مثبت
      ctx.font = `${testSize} '${font}', ${base}`;
      const width = ctx.measureText(testString).width;
      if (width !== baseWidths[base]) {
        detected.push(font);
        break;
      }
    }
  }
  return detected; // مصفوفة بأسماء الخطوط المثبتة
}

ما مدى تفرّد بصمة الخطوط؟

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

النتيجةالقيمةالمصدر
الإنتروبيا المضافة بقائمة الخطوط وحدها10–15 بتدراسة EFF Panopticlick
متوسط الخطوط المثبتة لكل جهاز سطح مكتب50–200BrowserLeaks / أبحاث ميدانية
الخطوط التي تختبرها نصوص البصمة النموذجية300–700BrowserLeaks Font Test
الوقت اللازم لإتمام فحص الخطوط الكاملأقل من 100 مللي ثانيةBrowserScan / قياس ميداني
المواقع في أفضل 10,000 تستخدم كشف الخطوط~38%Browser Fingerprinting Survey (arXiv)
المستخدمون المُعرَّفون بشكل فريد مع الخطوط + 4 إشارات أخرىأكثر من 99%منصات البصمة التجارية

من يستخدم Font Fingerprinting في العالم الواقعي؟

شبكات الإعلانات والتتبع عبر المواقع

تُضمّن منصات التكنولوجيا الإعلانية نصوص كشف الخطوط داخل علامات الإعلانات من الطرف الثالث وبكسلات التتبع. مع إيقاف الكوكيز من الطرف الثالث تدريجياً عبر Chrome وSafari وFirefox، اكتسب font fingerprinting أهمية كمعرّف مستقر عبر الجلسات. على خلاف الكوكيز، لا يمكن مسحه أو حجبه بإشعار كوكيز أو انتهاء صلاحيته.

كشف الاحتيال وتسجيل المخاطر

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

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

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

كيف تحمي نفسك من Font Fingerprinting؟

  • متصفح Tor (أقوى حماية): يقيّد Tor Browser الصفحات إلى مجموعة ثابتة من الخطوط المشحونة مع المتصفح نفسه. خطوطك المثبتة محلياً غير مرئية تماماً للمواقع، وكل مستخدم Tor يُقدّم قائمة خطوط متطابقة — مما يجعل التعرف القائم على الخطوط مستحيلاً.
  • متصفح Brave (موصى به للاستخدام اليومي): ابتداءً من الإصدار 1.39، يُعشّش Brave قائمة الخطوط المكشوفة لصفحات الويب. بدلاً من الكشف عن خطوطك الفعلية المثبتة، يُعيد مجموعة فرعية مُخلطة ومختصرة تتغير لكل موقع ولكل جلسة.
  • Firefox مع privacy.resistFingerprinting: عند تمكين هذا الإعداد في about:config, يقيّد Firefox الوصول إلى الخطوط إلى المجموعة القياسية المشحونة مع نظام تشغيلك.
  • تجنب تثبيت خطوط غير معتادة: كل خط إضافي غير قياسي يزيد من تفرد بصمة خطوطك. المصممون والطباعيون الذين يثبتون مكتبات خطوط احترافية كبيرة أكثر قابلية للتعرف عليهم بشكل ملحوظ من المستخدمين الذين يكتفون بالخطوط الافتراضية.
  • استخدام VPN — مع فهم قيوده: يخفي VPN عنوان IP الخاص بك لكنه لا يؤثر مطلقاً على قائمة الخطوط التي يكشفها متصفحك. يمكنك التحقق مما إذا كان VPN يعمل بشكل صحيح على whatsmy.fyi.

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

هل يعمل font fingerprinting في وضع التصفح المتخفي؟

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

هل يمكن لـ VPN إيقاف font fingerprinting؟

لا. يُشفّر VPN حركة مرورك ويغيّر عنوان IP المرئي الخاص بك، لكنه لا يصل إلى محرك تصيير المتصفح. يقرأ font fingerprinting البيانات من سجل خطوط نظام التشغيل من خلال JavaScript API في المتصفح — طبقة غير متأثرة بتكوين شبكتك.

كم عدد الخطوط التي يختبرها نص البصمة فعلياً؟

عادةً تختبر نصوص الإنتاج بين 300 و700 اسم خط. تشمل قائمة الاختبار الخطوط الشائعة في النظام (Arial وTimes New Roman وGeorgia) والخطوط الخاصة بنظام التشغيل (San Francisco على macOS وSegoe UI على Windows) وخطوط التطبيقات المثبتة بواسطة Adobe Creative Cloud وMicrosoft Office وGoogle Drive والخطوط الخاصة باللغات للعربية والصينية والعبرية. يكتمل الفحص الكامل في أقل من 100 مللي ثانية وغير مرئي تماماً للمستخدم.

هل font fingerprinting مختلف عن canvas fingerprinting؟

متعلقان لكن مختلفان. يقرأ canvas fingerprinting اختلافات التصيير على مستوى البكسل الناجمة عن GPU وبرنامج تشغيل الرسومات ومُصيّر النص في نظام التشغيل. يكتشف font fingerprinting تحديداً الخطوط المثبتة بقياس أبعاد النص أو مقارنة مخرجات بكسل canvas لكل خط. كثيراً ما يُنشران معاً لأنهما تكميليان. اقرأ دليل canvas fingerprinting للمقارنة المفصّلة.

هل أجهزة المصممين أو المطورين أكثر قابلية للتتبع عبر الخطوط؟

نعم، بشكل ملحوظ. مصمم يشغّل Adobe Creative Cloud قد يملك 500 خط أو أكثر إضافياً فوق الخطوط الافتراضية للنظام. مطور ثبّت خطوط برمجة مثل JetBrains Mono أو Fira Code أو Cascadia Code يضيف إشارات فريدة إضافية. كل خط غير قياسي يضيّق مجموعة المستخدمين الذين يشاركونك نفس ملف الخطوط.

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

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

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

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

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

ما هو Font Fingerprinting؟ كيف تتتبعك الخطوط المثبتة | whatsmy.fyi