Analytics में IP पतों का अनामीकरण

Analytics IP पतों को कैसे अनामित करता है इसकी तकनीकी व्याख्या

एक नज़र में

जब Analytics का कोई ग्राहक, IP पते के अनामीकरण का अनुरोध करता है तो Analytics पते को तकनीकी रूप से संग्रह नेटवर्क के जितना हो सके उतने आरंभिक स्तर पर अनामित कर देता है. जब पते Analytics संग्रह नेटवर्क को भेज दिए जाते हैं तो उसके थोड़ी देर बाद ही, Analytics की IP अनामीकरण सुविधा IPv4 उपयोगकर्ता IP पते के अंतिम ऑक्टेट तथा and the lIPv6 पतों के अंतिम 80 बिट को मेमोरी में शून्य पर सेट कर देती है. इस मामले में IP पता डिस्क पर कभी लिखा नहीं जाता.

गहन जानकारी

25 मई 2010 से, Analytics ने ga.js JavaScript लाइब्रेरी में _anonymizelp सुविधा प्रदान की है (और हाल ही में analytics.js लाइब्रेरी में ga('set', 'anonymizeIp', true) सुविधा प्रदान की है), ताकि वेबसाइट के स्वामी अपने उत्पादों में अपने सभी उपयोगकर्ताओं के IP पते अनामित करने का अनुरोध कर सकें. यह विशेषता इसलिए डिज़ाइन की गई है ताकि साइट स्वामी स्वयं अपनी गोपनीयता नीति का पालन कर सकें या कुछ देशों में डेटा सुरक्षा संबंधी स्थानीय अधिकरणों के निर्देशानुसार संपूर्ण IP पते की जानकारी एकत्र करने को अनुमति नहीं दी जाती. IP अनामीकरण/मास्किंग का कार्य Analytics संग्रह नेटवर्क को डेटा प्राप्त होते ही शुरू हो जाता है, यानी संग्रहण या संसाधन के पहले.

Analytics की संग्रहण पाइपलाइन में IP अनामीकरण की प्रक्रिया दो चरणों में पूरी होती है: JavaScript टैग और संग्रह नेटवर्क. नीचे इन चरणों को समझाया गया है.

Analytics JavaScript टैग

जब कोई JavaScript-सक्षम वेब ब्राउज़र Analytics टैग (ga.js या analytics.js) में कोई पृष्ठ लोड करता है तो यह एसिंक्रोनस तरीके से दो काम करता है: Analytics फ़ंक्शन कतार को लोड और संसाधित करता है और Analytics JavaScript का अनुरोध करता है. फ़ंक्शन कतार एक JavaScript व्यवस्था होती है, जहां अलग-अलग Analytics कॉन्फ़िगरेशन और संग्रहण फ़ंक्शन पुश किए जाते हैं. ये फ़ंक्शन, Analytics लागू करते समय साइट स्वामी द्वारा सेट किए जाते हैं. इनमें Analytics खाता नंबर का उल्लेख करने वाले तथा Analytics संग्रह नेटवर्क को संसाधन के लिए वास्तव में पृष्ठ दृश्य डेटा भेजने वाले फ़ंक्शन शामिल किए जा सकते हैं.

जब Analytics JavaScript फ़ंक्शन कतार से कोई ऐसा फ़ंक्शन चलाता है, जो डेटा को Analytics संग्रह नेटवर्क पर भेजे जाने के लिए ट्रिगर करता है (आमतौर पर analytics.js JavaScript लाइब्रेरी में यह फ़ंक्शन ga('send', 'pageview') होता है और ga.js लाइब्रेरी में _trackPageview होता है) तो वह डेटा को किसी HTTP अनुरोध में संलग्न URL पैरामीटर के रूप में भेजता है, जैसे http://www.google-analytics.com/_utm.gif (ga.js के लिए) तथा http://www.google-analytics.com/collect (analytics.js के लिए). यदि अनामीकरण फ़ंक्शन को पृष्ठ ट्रैकिंग फ़ंक्शन के पहले कॉल किया गया है तो पिक्सेल अनुरोध में एक अन्य पैरामीटर जोड़ दिया जाता है. IP अनामीकरण पैरामीटर ऐसा दिखाई देता है: &aip=1

Analytics संग्रह नेटवर्क

Analytics संग्रह नेटवर्क दरअसल सर्वर का एक समूह है, जो दो प्रमुख सेवाएं प्रदान करता है: ga.js और analytics.js (Analytics JavaScript) की प्रस्तुति तथा _utm.gif और /collect हेतु किए गए अनुरोधों के ज़रिये भेजे गए डेटा का संग्रहण.

जब ga.js, analytics.js, _utm.gif या /collect का अनुरोध प्राप्त होता है तो उसके HTTP अनुरोध हेडर (यानी उपयोग किए जा रहे ब्राउज़र का प्रकार) और TCP/IP हेडर (यानी अनुरोधकर्ता का IP पता) में अतिरिक्त जानकारी शामिल होती है.

जैसे ही _utm.gif का कोई अनुरोध प्राप्त होता है, उसे अनामीकरण के लिए मेमोरी में रख लिया जाता है. यदि अनुरोध URL में &aip=1 पैरामीटर मिलता है (जैसे कि वह Analytics JavaScript द्वारा ga.js या analytics.js के अनामीकरण फ़ंक्शन को संसाधित करने के बाद रखा जाता) तो मेमोरी में रहने के दौरान ही उपयोगकर्ता IP पते का अंतिम ऑक्टेट शून्य पर सेट कर दिया जाता है. उदाहरण के लिए, यदि IP पता 12.214.31.144 है तो वह बदलकर 12.214.31.0 हो जाएगा. (यदि IP पता एक IPv6 पता है तो 128 बिट के अंतिम 80 बिट शून्य पर सेट कर दिए जाते हैं.) इस गुमनाम करने की प्रक्रिया के बाद ही अनुरोध को संसाधित करने के लिए डिस्क पर अंकित किया जाता है. यदि IP अनामीकरण विधि का उपयोग किया जाता है तो डिस्क पर कभी भी IP पता लिखा नहीं जाता, क्योंकि अनामीकरण की प्रक्रिया अनुरोध प्राप्त होते ही मेमोरी में लगभग तुरंत पूरी हो जाती है.

क्‍या यह लेख उपयोगी था?
हम उसे किस तरह बेहतर बना सकते हैं?