VPN एग्ज़िट और आपके ब्राउज़र की भाषा आपस में क्यों नहीं मिलते
Accept-Language जवाब की भाषा माँगता है; VPN स्रोत पता बदल देता है। जब कोई साइट स्थानीय दिखती है, तीन इनपुट तय करते हैं कि कौन जीता।
VPN के बारे में कोई निष्कर्ष निकालने से पहले डेवलपर टूल खोलें, पेज लोड करें और अनुरोध हेडर पढ़ें। आमतौर पर आपको एक Accept-Language पंक्ति मिलेगी जो भाषाओं का एक तय समूह माँगती है, और वह पंक्ति आपके ब्राउज़र की सेटिंग्स से आती है, आपके एग्ज़िट पते से नहीं। टोक्यो एग्ज़िट पर बैठा फ़्रेंच बोलने वाला अब भी फ़्रेंच भेजता है, और फ़्रेंच में जवाब देने वाली साइट उसी हेडर का जवाब दे रही है। सिर्फ़ इसलिए टनल लीक नहीं होती कि पेज किसी जानी-पहचानी भाषा में आया।
सबसे पहले हेडर पढ़ें
डेस्कटॉप ब्राउज़र में नेटवर्क पैनल खोलें, फिर से लोड करें, दस्तावेज़ के अनुरोध पर क्लिक करें और अनुरोध हेडर के नीचे देखें। टर्मिनल से आप ब्राउज़र के बिना भी वही देख सकते हैं, और साइट का व्यवहार जाँचने के लिए मान को बदल सकते हैं:
curl -sS -D /tmp/h1 -o /tmp/b1 https://example.com
curl -sS -D /tmp/h2 -o /tmp/b2 -H 'Accept-Language: fr,en;q=0.6' https://example.com
grep -o 'lang="[^"]*"' /tmp/b1 /tmp/b2
diff /tmp/b1 /tmp/b2 | head -40
अब बॉडी डिस्क पर है, इसलिए तुलना पेज की है, ऐसे हेडर की नहीं जो शायद कभी भेजा ही न जाए। html टैग की lang विशेषता और दिखने वाले टेक्स्ट को देखें, क्योंकि Content-Language वैकल्पिक है और कई सर्वर उसे छोड़ देते हैं। इसलिए एक ही URL पर पूरा पेज अंग्रेज़ी से फ़्रेंच में बदलने वाली साइट केवल हेडर की तुलना में अपरिवर्तित दिख सकती है। अगर दस्तावेज़ की भाषा हेडर का पालन करती है जबकि एग्ज़िट स्थिर रहता है, तो हेडर ही निर्णायक इनपुट था और VPN का उस अवलोकन से कोई लेना-देना नहीं।
इस परीक्षण के लिए साइट के अपने भाषा स्विच के बजाय दूसरी ब्राउज़र प्रोफ़ाइल इस्तेमाल करें। स्विच आमतौर पर एक कुकी लिखता है, जो दूसरा इनपुट है, और अंत में आप हेडर के बजाय कुकी नापेंगे।
q मानों का क्या अर्थ है और क्या नहीं
RFC 9110 का खंड 12.5.4 Accept-Language को जवाब के लिए पसंदीदा प्राकृतिक भाषाओं की सूची के रूप में परिभाषित करता है। हर प्रविष्टि 0 से 1 तक का भार ले सकती है, बिना भार वाली श्रेणी का भार 1 होता है, और भार 0 किसी भाषा को अस्वीकार्य चिह्नित करता है। यह वरीयता का क्रम है, इससे ज़्यादा कुछ नहीं।
यह मान स्थान रिपोर्ट नहीं है, भरोसा स्कोर नहीं है और पहचान नहीं है। सर्वर इसे नज़रअंदाज़ करने, अपना इकलौता अनुवाद देने या देश-आधारित रीडायरेक्ट को जीतने देने के लिए स्वतंत्र है। सामग्री पर बातचीत सर्वर की पसंद है, और हेडर उस पसंद का इनपुट है, आदेश नहीं।
यही वह हिस्सा है जो लोग चूक जाते हैं जब स्थानीयकृत पेज को स्थान परीक्षण मान लेते हैं। हेडर बताता है कि व्यक्ति कौन-सी भाषाएँ पढ़ना पसंद करता है, और पसंद कहीं भी यात्रा कर सकती है।
आपको असल में कौन-सी भाषा मिलती है, यह तीन इनपुट तय करते हैं
उन्हें एक-एक करके अलग करें, क्योंकि बाहर से आप नहीं देख सकते कि कौन जीता:
- हेडर। किसी दूसरी भाषा सूची के लिए सेट दूसरी प्रोफ़ाइल के साथ जाँचें, और देखें कि बाकी सब स्थिर रहते हुए पेज बदलता है या नहीं।
- सहेजी गई पसंद। कुकी के बिना निजी विंडो में जाँचें, या साइट का स्टोरेज साफ़ करें। अकाउंट सेटिंग्स और localStorage प्रविष्टियाँ भाषा को महीनों तक बाँध सकती हैं।
- URL या रीडायरेक्ट। स्पष्ट भाषा पथ, जैसे
/fr/, माँगकर और स्रोत पते पर आधारित रीडायरेक्ट के स्टेटस कोड देखकर जाँचें।
तीनों परीक्षण उसी क्रम में करें और लिखें कि किसने परिणाम बदला। VPN चालू करने के बाद भाषा बदलने वाला एक ही पेज लोड कमज़ोर सबूत है, क्योंकि रीडायरेक्ट और कैश में रखी कुकी दोनों वही धारणा बना सकते हैं।
VPN क्या बदलती है और क्या नहीं
टनल वह स्रोत पता बदलती है जो सर्वर देखता है, और उसके साथ वह सब कुछ जो सर्वर IP भू-स्थान से निकालता है। यह ब्राउज़र की भाषा वरीयताओं को फिर से नहीं लिखती, सहेजी गई सेटिंग नहीं मिटाती और आपके टाइप किए URL को नहीं बदलती। वे इनपुट ठीक वहीं रहते हैं जहाँ थे, इसलिए एग्ज़िट खिसकने के बाद भी पेज अपनी पुरानी भाषा रख सकता है।
भू-स्थान अपना शोर जोड़ता है। पता डेटाबेस एक-दूसरे से सहमत नहीं होते, और एक देश में दर्ज एग्ज़िट को दूसरे में मैप किया जा सकता है, जिससे देश-आधारित रीडायरेक्ट उन कारणों से गलत दिखता है जिनका आपके ब्राउज़र से कोई संबंध नहीं।
एक तेज़ जाँच इन्हें अलग करती है: पेज को नए सिरे से माँगें, जो पता आप प्रस्तुत करते हैं उसे नोट करें, और फिर जवाब की भाषा की तुलना अपनी हेडर सूची से करें। अगर भाषा एग्ज़िट देश के बजाय आपकी सूची से मेल खाती है, तो हेडर ही निर्णायक इनपुट था और टनल में सुधारने जैसा कुछ नहीं।
स्थानीयकृत पेज क्या साबित करता है और क्या नहीं
यहाँ निजता का एक असली मुद्दा है, और वह उससे छोटा है जो लोग आमतौर पर उठाते हैं। भाषा वरीयताओं की पूरी सूची फिंगरप्रिंटिंग इनपुट है और इस बारे में कुछ बता सकती है कि आप कौन हैं या क्या पढ़ते हैं। यह वरीयता का सच्चा खुलासा है, और यह साबित करने के बराबर नहीं कि ट्रैफ़िक टनल से बाहर निकल गया।
स्थानीयकृत पेज लीक का संकेत नहीं है। अगर सचमुच लीक जाँचना है, तो साइट जो एग्ज़िट पता देखती है, नाम खोज के लिए इस्तेमाल होने वाला रिज़ॉल्वर पथ और WebRTC स्टैक जो उम्मीदवार दिखाता है, उन्हें जाँचें। वे परीक्षण उस सवाल का जवाब देते हैं जो पेज की भाषा नहीं दे सकती।
अगली बार जब कोई साइट आपका देश जानती दिखे, तो पहले अनुरोध हेडर खोलें। अगर जवाब की भाषा आपके ब्राउज़र की सूची से मेल खाती है, तो कुछ भी लीक नहीं हुआ, और जिस परत को देखना चाहिए वह आपके सामने वाली है।