फॉन्ट फिंगरप्रिंटिंग क्या है? वेबसाइटें आपकी फॉन्ट लिस्ट से ब्राउज़र एनवायरनमेंट कैसे पहचानती हैं
एक ही वेबसाइट खोलें, एनवायरनमेंट और प्रॉक्सी बदल दें, फिर भी पेज के लेआउट में बारीक अंतर दिखता है। इस एनवायरनमेंट पर बटन का टेक्स्ट उस एनवायरनमेंट से दो पिक्सेल चौड़ा निकलता है। इसकी एक बड़ी वजह है फॉन्ट: मशीन पर कौन-कौन से फॉन्ट इंस्टॉल हैं, यह वेबपेज एक छोटे से टेस्ट से काफी हद तक जान लेता है, और इसीलिए फॉन्ट लिस्ट ब्राउज़र फिंगरप्रिंट के एक पैरामीटर की तरह गिनी जाती है। इस लेख में तीन चीज़ें समझाई गई हैं: वेबसाइटें फॉन्ट कैसे मापती हैं, डिटेक्शन रिज़ल्ट पर कितना भरोसा किया जा सकता है, और फॉन्ट लिस्ट के तीन मोड (Real / Random / Custom) किस स्थिति में काम आते हैं। फॉन्ट का पूरे फिंगरप्रिंट में जो स्थान है, MostMate की फिंगरप्रिंट सेटिंग उसे बेसिक पैरामीटर्स में गिनती है; प्रोडक्ट की पूरी तस्वीर MostMate क्या है में देखें।
फॉन्ट फिंगरप्रिंटिंग क्या है: वेबसाइट आपके इंस्टॉल किए फॉन्ट का अंदाज़ा लगाती है
फॉन्ट फिंगरप्रिंटिंग में आपकी फॉन्ट फाइलें अपलोड नहीं की जातीं; वेबसाइट टेस्ट का एक सेट चलाकर परखती है कि आपकी मशीन कोई खास फॉन्ट दिखा सकती है या नहीं। हर ऑपरेटिंग सिस्टम फैक्ट्री से कुछ फॉन्ट लेकर आता है, और फिर यूज़र व सॉफ्टवेयर उसमें जोड़ते रहते हैं: Office इंस्टॉल करने पर एक और सेट जुड़ जाता है, और चीनी भाषा वाला Windows SimSun और Microsoft YaHei जैसे फॉन्ट खुद लेकर आता है। दो मशीनों के फॉन्ट सेट ज़्यादातर अलग होते हैं, और यही अंतर जानकारी बन जाता है। EFF ने 2010 की ट्रैकिंग स्टडी में ही फॉन्ट को पहचान-योग्य पैरामीटर माना था, और तब से यह टेस्ट बड़ी वेबसाइटों पर चलता आ रहा है।
दूसरे फिंगरप्रिंट पैरामीटर्स से इसका फर्क बदलाव की दर है: Canvas और WebGL हार्डवेयर और रेंडरिंग इंजन पर निर्भर हैं और आम तौर पर महीनों में एक बार ही बदलते हैं; फॉन्ट लिस्ट हर सॉफ्टवेयर इंस्टॉल के साथ चलती है: नया ऑफिस सॉफ्टवेयर इंस्टॉल करें या कोई फॉन्ट फाइल हटाएं, लिस्ट बदल जाती है। जो पैरामीटर जल्दी बदलता है, वह जल्दी पकड़ा भी जाता है: बस एक सॉफ्टवेयर इंस्टॉल लिस्ट को उसकी मूल हालत से हटा सकता है।
वेबसाइटें फॉन्ट कैसे मापती हैं: तीन तरीके, और हर तरीका सिर्फ 'है या नहीं' बताता है
वेबसाइट सिस्टम की फॉन्ट लिस्ट सीधे पढ़ नहीं सकती; वह अंदाज़ा सिर्फ अप्रत्यक्ष तरीके से लगाती है। तीन आम तरीके ये हैं:
- विड्थ डिफरेंशियल मेज़रमेंट। पेज पर एक फिक्स्ड टेक्स्ट रखें: पहले फॉलबैक फॉन्ट (जैसे monospace) में उसकी चौड़ाई नापें, फिर टारगेट फॉन्ट तय करके दोबारा नापें। दोनों चौड़ाई बराबर हैं तो टारगेट फॉन्ट मौजूद नहीं है; चौड़ाई अलग है तो मौजूद है। डिटेक्शन स्क्रिप्ट सैकड़ों आम फॉन्ट नाम एक-एक करके आज़माती है और 'प्रज़ेंट / गायब' की लिस्ट बना लेती है।
- Canvas रेंडरिंग कंपैरिज़न। Canvas पर उसी टेक्स्ट को अलग-अलग फॉन्ट में ड्रा करके पिक्सेल अंतर की तुलना की जाती है, और रेंडरिंग इंजन का अंतर भी साथ में ही सामने आ जाता है।
- Font Loading API। मॉडर्न ब्राउज़र document.fonts.check('12px "Segoe UI"') जैसा इंटरफ़ेस देते हैं, जो सीधे बता देता है कि कोई फॉन्ट उपलब्ध है या नहीं; चौड़ाई नापने से आसान।

तीनों तरीके एक ही चीज़ जांचते हैं ('यह फॉन्ट नाम इस मशीन पर इस्तेमाल हो सकता है या नहीं'); फॉन्ट फाइल खुद कभी नहीं दिखती। असल डिटेक्शन में अक्सर तरीकों को मिलाया जाता है: विड्थ डिफरेंशियल मुख्य काम करता है, Canvas क्रॉस-चेक करता है। इंटरफ़ेस की बारीकियाँ MDN के Document.fonts दस्तावेज़ में देखें; पूरी टेस्ट फॉन्ट लिस्ट और लॉजिक के लिए FingerprintJS का फॉन्ट डिटेक्शन सोर्स कोड देख सकते हैं।
डिटेक्शन रिज़ल्ट अधूरा ही होता है: आपको पूरी लिस्ट मिलती नहीं
पहले एक आम गलतफहमी दूर कर लें। वेबसाइट आपके इंस्टॉल किए गए सारे फॉन्ट नहीं देख सकती; सिर्फ उसकी अपनी लिस्ट में जो हैं, वही देखती है। डिटेक्शन रिज़ल्ट असल में 'आम फॉन्ट्स की लिस्ट ∩ आपकी मशीन' का इंटरसेक्शन है।
इसके दो नतीजे हैं। पहला: अलग फॉन्ट सेट वाली दो मशीनों का रिज़ल्ट एक जैसा आ सकता है: मान लीजिए पहली मशीन में फॉन्ट A और B इंस्टॉल हैं, दूसरी में A और C; डिटेक्शन साइट सिर्फ A और D आज़माती है, दोनों की रिपोर्ट बनती है 'A है, D नहीं' और हैश वैल्यू बराबर आती है। एक जैसा फॉन्ट फिंगरप्रिंट यह साबित नहीं करता कि डिवाइस एक ही है; यह सिर्फ दिखाता है कि टेस्ट लिस्ट की सीमा में दोनों का व्यवहार मैच करता है।
दूसरा: लिस्ट से बाहर का हिस्सा पूरी तरह छिपा रहता है। 300 फॉन्ट वाली एक डिज़ाइन वर्कस्टेशन और एक फ्रेश सिस्टम एक जैसा ही रिज़ल्ट दिखाते हैं; अगर टेस्ट लिस्ट में सिर्फ 150 आम फॉन्ट शामिल हों, तो बाकी 150 कभी दिखेंगे ही नहीं।
मल्टी-अकाउंट ऑपरेशन के लिहाज़ से अधूरा रिज़ल्ट दो तरफ से काटता है: फॉन्ट के भरोसे अकेले पहचान तय नहीं होती, लेकिन रिस्क कंट्रोल फॉन्ट को दूसरे सिग्नल्स से क्रॉस-वेरिफाई करता है; एक बार लिस्ट ऑपरेटिंग सिस्टम या भाषा सेटिंग से मैच नहीं हुई, तो वह गज़ब की असामान्यता बन जाती है। डिटेक्शन टूल जो फॉन्ट काउंट और हैश वैल्यू दिखाते हैं, उन्हें बस इस उसूल पर पढ़ें ('उसी एनवायरनमेंट में स्थिर, अलग एनवायरनमेंट में अलग'); किसी खास नंबर के पीछे मत भागें।
आपकी फॉन्ट लिस्ट को कौन-कौन से फैक्टर गढ़ते हैं
फॉन्ट सेट चार परतें एक के ऊपर एक जमाकर बनता है, और हर परत 'एक जैसी दिखने' वाली दो मशीनों में फर्क खड़ा कर सकती है:
- ऑपरेटिंग सिस्टम और उसका वर्ज़न। Windows, macOS और Linux के फैक्ट्री फॉन्ट सेट अलग हैं; Windows में भी 10 और 11 की लिस्ट में अंतर है। इसी वजह से फॉन्ट लिस्ट और UA के दावे किए प्लेटफॉर्म को आपस में मिलाया जा सकता है।
- सिस्टम की भाषा और रीजन। चीनी भाषा वाले Windows में SimSun और Microsoft YaHei डिफ़ॉल्ट रूप से मिलते हैं, जो यूरोप-अमेरिका की ज़्यादातर मशीनों पर नहीं होते; जापानी और कोरियन सिस्टम की भी अपनी किट होती है। अक्सर फॉन्ट लिस्ट ही पहले एनवायरनमेंट का असली रीजनल बैकग्राउंड बता देती है।
- सॉफ्टवेयर के साथ आने वाले फॉन्ट। Office, Adobe और WPS अपने फॉन्ट सिस्टम में डाल देते हैं; डिज़ाइन वाली मशीन और सिर्फ ब्राउज़र चलाने वाली मशीन के फॉन्ट सेट में ज़मीन-आसमान का अंतर होता है।
- ब्राउज़र इंजन के फॉलबैक नियम। एक ही फॉन्ट नाम के लिए Chromium और Firefox का fallback चुनाव अलग है, और नापी गई चौड़ाई भी अलग आती है; एनवायरनमेंट का कोर वर्ज़न बदले तो बारीक रिज़ल्ट भी साथ बदल सकते हैं।

इन चार परतों का ढेर एक जानी-पहचानी स्थिति समझा देता है: IP, टाइमज़ोन और भाषा सब सेट किया हुआ एनवायरनमेंट भी फॉन्ट लिस्ट में 'गांव का पता' छोड़ जाता है: एनवायरनमेंट अमेरिकी अंग्रेज़ी का कहता है, लेकिन फॉन्ट्स में Microsoft YaHei ठिकाने लगाए बैठा है। क्रॉस-वेरिफिकेशन में ऐसी गड़बड़ी एक अकेले पैरामीटर की असामान्यता से ज़्यादा बात बताती है।
कंसिस्टेंसी कैसे तय करें: तीन मापदंड और तीन कदम का सेल्फ-टेस्ट
एनवायरनमेंट मैनेजमेंट में फॉन्ट पैरामीटर को तीन मापदंड पार करने होते हैं:
- एक ही एनवायरनमेंट में स्थिरता। उसी एनवायरनमेंट का रिज़ल्ट बार-बार चेक करें, फॉन्ट काउंट और हैश वैल्यू न बदले; एनवायरनमेंट चलते वक़्त बिना वजह सॉफ्टवेयर इंस्टॉल या फॉन्ट डिलीट न करें।
- एनवायरनमेंट आपस में अलग। अलग-अलग रीजन से आने का दावा करने वाले एनवायरनमेंट की फॉन्ट लिस्ट में दिखने लायक अंतर होना चाहिए; 'अमेरिकी' और 'जर्मन' दो एनवायरनमेंट की फॉन्ट हैश पूरी तरह बराबर आए, तो यह संदिग्ध सिग्नल है।
- दावे की जानकारी से मैच। Windows एनवायरनमेंट में macOS-एक्सक्लूसिव फॉन्ट दिखें या अंग्रेज़ी एनवायरनमेंट में चीनी फॉन्ट्स की कतार लगी हो, तो दोनों खुली गड़बड़ियाँ हैं। रैंडमाइज़्ड पैरामीटर का रिस्क फिंगरप्रिंट रैंडमाइज़ेशन उल्टा क्यों खतरनाक है में बखूबी समझाया गया है; फॉन्ट इस लॉजिक का सबसे साफ उदाहरण है: रैंडम जोड़ी गई फॉन्ट कॉम्बिनेशन असली दुनिया में शायद ही कभी दिखती है।
तीन कदम का सेल्फ-टेस्ट: BrowserScan या Iphey पर डिटेक्शन रिज़ल्ट पेज खोलें और Fonts वाली एंट्री ढूंढकर वैल्यू नोट करें; उसी एनवायरनमेंट में दो-तीन बार रिफ्रेश करके स्थिरता देखें; दूसरा एनवायरनमेंट खोलकर वही टेस्ट चलाएं और देखें कि अंतर दोनों के पर्सना से मैच करता है या नहीं।

MostMate की फॉन्ट लिस्ट के तीन मोड कैसे चुनें
MostMate की फिंगरप्रिंट सेटिंग में फॉन्ट लिस्ट के लिए Real, Random और Custom तीन मोड मिलते हैं, जो इस्तेमाल की तीन अलग स्थितियों से जुड़े हैं:
- Real: एनवायरनमेंट सीधे होस्ट मशीन की मौजूदा फॉन्ट लिस्ट इस्तेमाल करता है; डिटेक्शन रिज़ल्ट खुद ब्राउज़र खोलने पर मिलने वाले से मैच करता है। यह उन मामलों के लिए है जहां होस्ट मशीन का सेटअप साफ है और पर्सना होस्ट सिस्टम के रीजन से मेल खाता है, जैसे आपकी मशीन अंग्रेज़ी Windows हो और अमेरिकी एनवायरनमेंट ही बना रहे हों।
- Random: एनवायरनमेंट खुद एक फॉन्ट कॉम्बिनेशन बनाता है; शर्त यह है कि रैंडम एल्गोरिद्म OS और भाषा की रेंज के भीतर ही जोड़े, ताकि सेट उस पर्सना के लिए सही दिखे। बैच में एनवायरनमेंट बनाने और रोज़ के स्केल-अप के लिए ठीक है, जहां हर एनवायरनमेंट के फॉन्ट बारीकी से जांचने की ज़रूरत नहीं।
- Custom: फॉन्ट लिस्ट खुद टिक करें; यह उन एनवायरनमेंट के लिए है जहां टारगेट प्लेटफॉर्म का रिस्क कंट्रोल सख्त है या पर्सना होस्ट मशीन से काफी दूर है: पर्सना के हिसाब से संबंधित सिस्टम का फॉन्ट सेट पूरा करें और कॉन्फ़िगर करते वक़्त पिछले सेक्शन के तीन मापदंड से एक-एक चीज़ मिलाएं।
तीनों मोड एनवायरनमेंट बनाने के फॉर्म की फिंगरप्रिंट सेटिंग सेक्शन में मिलते हैं; कॉन्फ़िगर करने के बाद फिंगरप्रिंट प्रीव्यू पैनल की 'फॉन्ट लिस्ट' फ़ील्ड से मौजूदा वैल्यू चेक करें और एक बार डिटेक्शन साइट से दोबारा टेस्ट चलाएं। पूरा कॉन्फ़िगरेशन फ्लो MostMate के साथ शुरुआत कैसे करें में है।
निष्कर्ष
फॉन्ट फिंगरप्रिंटिंग की असलियत यह है कि वेबसाइट सीमित टेस्ट लिस्ट से आपकी मशीन का फॉन्ट सेट परखती है: पूरी लिस्ट नहीं दिखती, लेकिन क्रॉस-वेरिफिकेशन के वक़्त मिसमैच उजागर करने के लिए उतनी काफी है। मैनेजमेंट में तीन बातें पकड़ में रखें: एक ही एनवायरनमेंट में स्थिरता, एनवायरनमेंट आपस में अलग, और फॉन्ट लिस्ट का दावे किए सिस्टम-रीजन से मैच। शून्य से एक पूरा एनवायरनमेंट सेटअप चलाना हो तो पहले MostMate डाउनलोड करें; फिंगरप्रिंट के हर पैरामीटर की कंसिस्टेंसी का लॉजिक ज़्यादातर MostMate के चार डिज़ाइन सिद्धांत में मिल जाएगा।
FAQ
क्या फॉन्ट फिंगरप्रिंटिंग अकेले एक डिवाइस की पहचान कर सकती है?
नहीं। रिज़ल्ट टेस्ट लिस्ट की सीमा में रहता है; अलग फॉन्ट वाली दो मशीनों का आउटपुट एक जैसा आ सकता है। रिस्क कंट्रोल आम तौर पर फॉन्ट को UA, Canvas, भाषा जैसे पैरामीटर्स के साथ क्रॉस-वेरिफाई करता है; फॉन्ट अकेले पहचान का आधार नहीं बनता।
क्या अलग-अलग ब्राउज़र का फॉन्ट फिंगरप्रिंट एक जैसा होगा?
फॉन्ट सेट एक होने पर बड़ी तस्वीर में रिज़ल्ट मिलता है, लेकिन हर इंजन के fallback नियम और रेंडरिंग बारीकियाँ अलग हैं, इसलिए चौड़ाई की वैल्यू में फर्क आता है। एक ही मशीन पर Chrome और Firefox के रिज़ल्ट में बारीक अंतर आम है; यही इंजन का फर्क है।
क्या जितने ज़्यादा फॉन्ट इंस्टॉल हों, पहचान उतनी आसान?
नया फॉन्ट तभी दिखता है जब वह टेस्ट लिस्ट में आता है। संख्या अपने आप ज़्यादा असर नहीं रखती; दुर्लभ फॉन्ट अपवाद हैं: कोई छोटा डिज़ाइन फॉन्ट पकड़ में आ गया तो यह लिस्ट आंकड़ों में असामान्य दिखने लगती है।
क्या Cookie क्लियर करने से फॉन्ट फिंगरप्रिंट मिट जाता है?
नहीं। फॉन्ट लिस्ट मशीन पर इंस्टॉल की गई चीज़ों से आती है और साइट स्टोरेज का हिस्सा नहीं है; Cookie या कैश क्लियर करने का इस पर कोई असर नहीं पड़ता। इसे बदलने के लिए एनवायरनमेंट लेवल पर फॉन्ट कॉन्फ़िगरेशन बदलना पड़ता है।
MOSTMATE
कई खातों का सुरक्षित प्रबंधन, अब आसान
पहले खाते से शुरुआत करें और MostMate के साथ कई खातों का अधिक सुरक्षित, स्मार्ट और कुशल संचालन बनाएँ।
- अलग प्रोफ़ाइल। सुसंगत पहचान।
- AI ऑटोमेशन · खाते की स्थिति · टीम संचालन



