इंडेक्स
SafeBrowsing(इंटरफ़ेस)BatchGetHashListsRequest(मैसेज)BatchGetHashListsResponse(मैसेज)FullHash(मैसेज)FullHash.FullHashDetail(मैसेज)GetHashListRequest(मैसेज)HashList(मैसेज)HashListMetadata(मैसेज)HashListMetadata.HashLength(enum)LikelySafeType(enum)ListHashListsRequest(मैसेज)ListHashListsResponse(मैसेज)RiceDeltaEncoded128Bit(मैसेज)RiceDeltaEncoded256Bit(मैसेज)RiceDeltaEncoded32Bit(मैसेज)RiceDeltaEncoded64Bit(मैसेज)SearchHashesRequest(मैसेज)SearchHashesResponse(मैसेज)SearchUrlsRequest(मैसेज)SearchUrlsResponse(मैसेज)SizeConstraints(मैसेज)ThreatAttribute(enum)ThreatType(enum)ThreatUrl(मैसेज)
SafeBrowsing
Safe Browsing API की मदद से क्लाइंट, वेब रिसॉर्स (आम तौर पर यूआरएल) की जांच कर सकते हैं. वे यह जांच कर सकते हैं कि ये वेब रिसॉर्स, Google की लगातार अपडेट होने वाली असुरक्षित वेब रिसॉर्स की सूची में शामिल हैं या नहीं.
| BatchGetHashLists |
|---|
|
एक ही बार में कई हैश सूचियां मिलती हैं. ऐसा अक्सर होता है, जब किसी क्लाइंट को एक से ज़्यादा हैश की गई सूचियों की ज़रूरत होती है. इस तरीके का इस्तेमाल, सामान्य Get तरीके को कई बार इस्तेमाल करने के मुकाबले बेहतर होता है. यह https://google.aip.dev/231 में बताए गए स्टैंडर्ड बैच Get तरीके के मुताबिक है. साथ ही, एचटीटीपी तरीका भी GET है. |
| GetHashList |
|---|
|
इस तरीके से, हैश की गई सूची का नया कॉन्टेंट मिलता है. हैश सूची, खतरे वाली सूची या खतरे से जुड़ी नहीं होने वाली सूची हो सकती है. जैसे, ग्लोबल कैश. यह https://google.aip.dev/131 में बताए गए स्टैंडर्ड Get तरीके का इस्तेमाल करता है. साथ ही, एचटीटीपी तरीका भी GET है. |
| ListHashLists |
|---|
|
हैश की गई सूचियों की सूची बनाता है. V5 API में, Google कभी भी ऐसी हैश सूची को नहीं हटाएगा जिसे इस तरीके से कभी भी वापस नहीं लाया गया हो. इससे क्लाइंट, इस तरीके का इस्तेमाल किए बिना, अपनी ज़रूरत की सभी हैश की गई सूचियों को सीधे तौर पर कोड कर सकते हैं. यह https://google.aip.dev/132 में बताए गए तरीके के मुताबिक, List का स्टैंडर्ड तरीका है. साथ ही, एचटीटीपी का तरीका GET है. |
| SearchHashes |
|---|
|
यह फ़ंक्शन, तय किए गए प्रीफ़िक्स से मेल खाने वाले पूरे हैश खोजता है. यह एक कस्टम तरीका है, जैसा कि https://google.aip.dev/136 में बताया गया है. कस्टम तरीके का मतलब है कि Google के सामान्य एपीआई डेवलपमेंट नोमेनक्लेचर में इस तरीके का कस्टम नाम है. इसका मतलब कस्टम एचटीटीपी तरीके का इस्तेमाल करना नहीं है. |
| SearchUrls |
|---|
|
यह सुविधा, उन यूआरएल को खोजती है जो जानी-पहचानी थ्रेट से मेल खाते हैं. हर यूआरएल और उसके होस्ट-सफ़िक्स और पाथ-प्रीफ़िक्स एक्सप्रेशन की जांच की जाती है. हालांकि, यह जांच सीमित डेप्थ तक ही की जाती है. इसका मतलब है कि जवाब में ऐसे यूआरएल शामिल हो सकते हैं जो अनुरोध में शामिल नहीं थे. हालांकि, वे अनुरोध किए गए यूआरएल के एक्सप्रेशन हैं. |
BatchGetHashListsRequest
एक ही समय में कई हैश सूचियां पाने का अनुरोध.
| फ़ील्ड | |
|---|---|
names[] |
ज़रूरी है. खास हैश सूचियों के नाम. यह सूची, थ्रेट लिस्ट या ग्लोबल कैश हो सकती है. नामों में डुप्लीकेट शामिल नहीं होने चाहिए. ऐसा होने पर, क्लाइंट को गड़बड़ी का मैसेज मिलेगा. |
version[] |
हैश की गई सूची के वे वर्शन जो क्लाइंट के पास पहले से मौजूद हैं. अगर क्लाइंट पहली बार हैश की गई सूचियां फ़ेच कर रहा है, तो इस फ़ील्ड को खाली छोड़ दिया जाना चाहिए. अगर ऐसा नहीं है, तो क्लाइंट को सर्वर से पहले मिले वर्शन देने चाहिए. क्लाइंट को उन बाइट में बदलाव नहीं करना चाहिए. क्लाइंट को वर्शन, सूची के नामों के क्रम में भेजने की ज़रूरत नहीं है. ऐसा हो सकता है कि क्लाइंट, अनुरोध में नामों की संख्या से कम या ज़्यादा वर्शन भेजे. हालांकि, क्लाइंट को एक ही नाम से जुड़े कई वर्शन नहीं भेजने चाहिए. ऐसा करने पर, क्लाइंट को गड़बड़ी का मैसेज मिलेगा. पुरानी जानकारी: एपीआई के V4 में, इसे |
size_constraints |
हर सूची के साइज़ से जुड़ी पाबंदियां. अगर इसे शामिल नहीं किया जाता है, तो कोई शर्त नहीं होती. ध्यान दें कि यहां दिए गए साइज़, हर सूची के हिसाब से हैं. इन्हें सभी सूचियों के हिसाब से एग्रीगेट नहीं किया गया है. |
BatchGetHashListsResponse
जवाब में एक से ज़्यादा हैश सूचियां शामिल हैं.
| फ़ील्ड | |
|---|---|
hash_lists[] |
हैश की गई सूचियां, अनुरोध में दिए गए क्रम में होती हैं. |
FullHash
एक या उससे ज़्यादा मैच से पहचाना गया पूरा हैश.
| फ़ील्ड | |
|---|---|
full_hash |
मिलता-जुलता पूरा हैश. यह SHA256 हैश है. इसकी लंबाई ठीक 32 बाइट होगी. |
full_hash_details[] |
बिना क्रम वाली सूची. यह फ़ील्ड, इस पूरे हैश से जुड़ी जानकारी को दिखाता है. |
FullHashDetail
मैच करने वाले पूरे हैश के बारे में जानकारी.
फ़ॉरवर्ड कंपैटिबिलिटी के बारे में अहम जानकारी: सर्वर, किसी भी समय नए तरह के खतरों और उनकी विशेषताओं को जोड़ सकता है. इन बदलावों को माइनर वर्शन में हुए बदलाव माना जाता है. एपीआई में माइनर वर्शन नंबर न दिखाने की Google की नीति है. वर्शनिंग की नीति के लिए, https://cloud.google.com/apis/design/versioning देखें. इसलिए, क्लाइंट को FullHashDetail मैसेज पाने के लिए तैयार रहना चाहिए. इन मैसेज में ThreatType enum वैल्यू या ThreatAttribute enum वैल्यू होती हैं, जिन्हें क्लाइंट अमान्य मानता है. इसलिए, यह क्लाइंट की ज़िम्मेदारी है कि वह सभी ThreatType और ThreatAttribute enum वैल्यू की वैधता की जांच करे. अगर कोई वैल्यू अमान्य मानी जाती है, तो क्लाइंट को पूरे FullHashDetail मैसेज को अनदेखा करना होगा.
| फ़ील्ड | |
|---|---|
threat_type |
खतरे का टाइप. यह फ़ील्ड कभी खाली नहीं होगा. |
attributes[] |
बिना क्रम वाली सूची. उन पूरे हैश के बारे में अन्य एट्रिब्यूट. यह खाली हो सकता है. |
GetHashListRequest
हैश की सूची पाने का अनुरोध. यह सूची, खतरे वाली सूची या खतरे से जुड़ी नहीं होने वाली सूची हो सकती है. जैसे, ग्लोबल कैश.
V5 में नया क्या है: V4 में जिसे states कहा जाता था उसे अब version कहा जाएगा. अब सूचियों को नाम दिया गया है. साथ ही, प्लैटफ़ॉर्म टाइप और थ्रेट एंट्री टाइप हटा दिए गए हैं. अब ऐसा हो सकता है कि एक से ज़्यादा सूचियों में एक ही तरह का खतरा हो या एक ही सूची में कई तरह के खतरे हों. V4 में, वैरिएबल लेंथ वाले हैश प्रीफ़िक्स का इस्तेमाल किया जाता था. इससे कई क्लाइंट को लागू करने में समस्या आती थी. हालांकि, अब किसी सूची में मौजूद सभी हैश की लंबाई एक जैसी होती है. इससे क्लाइंट को लागू करने में आसानी होती है. पाबंदियों को आसान बना दिया गया है. साथ ही, कंप्रेस करने का टाइप हटा दिया गया है (कंप्रेशन हमेशा लागू होता है).
| फ़ील्ड | |
|---|---|
name |
ज़रूरी है. इस हैश की गई सूची का नाम. यह थ्रेट लिस्ट या ग्लोबल कैश हो सकता है. |
version |
हैश की गई सूची का वह वर्शन जो क्लाइंट के पास पहले से मौजूद है. अगर क्लाइंट पहली बार हैश की गई सूची को फ़ेच कर रहा है, तो इस फ़ील्ड को खाली छोड़ना ज़रूरी है. अगर ऐसा नहीं है, तो क्लाइंट को सर्वर से मिला पिछला वर्शन देना चाहिए. क्लाइंट को उन बाइट में बदलाव नहीं करना चाहिए. V5 में नया क्या है: एपीआई के V4 में, इसे |
size_constraints |
सूची के साइज़ से जुड़ी पाबंदियां. अगर इसे शामिल नहीं किया जाता है, तो कोई शर्त नहीं होती. हमारा सुझाव है कि प्रोसेसिंग पावर, बैंडविड्थ या स्टोरेज की सुविधा सीमित तौर पर उपलब्ध कराने वाले सभी डिवाइसों पर पाबंदियां लागू करें. |
HashList
नाम से पहचाने गए हैश की सूची.
| फ़ील्ड | |
|---|---|
name |
हैश की गई सूची का नाम. ध्यान दें कि ग्लोबल कैश भी सिर्फ़ एक हैश सूची है. इसे यहां देखा जा सकता है. |
version |
हैश सूची का वर्शन. क्लाइंट को उन बाइट में बदलाव नहीं करना चाहिए. |
partial_update |
सही होने पर, यह एक आंशिक अंतर होता है. इसमें क्लाइंट के पास पहले से मौजूद डेटा के आधार पर, जोड़े गए और हटाए गए डेटा की जानकारी होती है. जब यह वैल्यू गलत होती है, तब यह पूरी हैश सूची होती है. अगर यह वैल्यू 'गलत है', तो क्लाइंट को इस हैश सूची के लिए, स्थानीय तौर पर सेव किए गए किसी भी वर्शन को मिटाना होगा. इसका मतलब है कि क्लाइंट के पास मौजूद वर्शन बहुत पुराना है या क्लाइंट का डेटा खराब हो गया है. अगर यह वैल्यू सही है, तो क्लाइंट को इंक्रीमेंटल अपडेट लागू करना होगा. इसके लिए, उसे पहले आइटम हटाने होंगे और फिर आइटम जोड़ने होंगे. |
compressed_removals |
हटाए गए इंडेक्स का राइस-डेल्टा एन्कोड किया गया वर्शन. हर हैश लिस्ट में 2^32 से कम एंट्री होती हैं. इसलिए, इंडेक्स को 32-बिट पूर्णांक माना जाता है और उन्हें कोड में बदला जाता है. |
minimum_wait_duration |
क्लाइंट को हैश की गई सूची फिर से पाने के लिए, कम से कम इतने समय तक इंतज़ार करना चाहिए. अगर इसे शामिल नहीं किया जाता है या इसकी वैल्यू शून्य होती है, तो क्लाइंट को तुरंत फ़ेच करना चाहिए. ऐसा इसलिए, क्योंकि इससे पता चलता है कि सर्वर के पास क्लाइंट को भेजने के लिए एक और अपडेट है, लेकिन क्लाइंट की तय की गई पाबंदियों की वजह से ऐसा नहीं हो सका. |
sha256_checksum |
सभी हैश की क्रम से लगाई गई सूची, जिसे SHA256 का इस्तेमाल करके फिर से हैश किया गया है. यह डेटाबेस में मौजूद सभी हैश की क्रम से लगाई गई सूची का चेकसम है. यह चेकसम, दिए गए अपडेट को लागू करने के बाद जनरेट होता है. अगर कोई अपडेट नहीं दिया गया है, तो सर्वर इस फ़ील्ड को हटा देगा. इससे पता चलेगा कि क्लाइंट को मौजूदा चेकसम का इस्तेमाल करना चाहिए. |
metadata |
हैश की गई सूची के बारे में मेटाडेटा. |
यूनियन फ़ील्ड compressed_additions. यह जोड़े गए डेटा का राइस-डेल्टा एन्कोड किया गया वर्शन है. सूची में जोड़े गए सभी आइटम के हैश प्रीफ़िक्स की लंबाई एक जैसी होती है. compressed_additions इनमें से सिर्फ़ एक हो सकता है: |
|
additions_four_bytes |
चार बाइट वाले वर्ण जोड़े गए हैं. |
additions_eight_bytes |
आठ बाइट के जोड़. |
additions_sixteen_bytes |
16 बाइट के जोड़े गए डेटा. |
additions_thirty_two_bytes |
32 बाइट के डेटा को जोड़ा गया. |
HashListMetadata
किसी हैश सूची के बारे में मेटाडेटा.
| फ़ील्ड | |
|---|---|
threat_types[] |
बिना क्रम वाली सूची. अगर यह खाली नहीं है, तो इससे पता चलता है कि हैश की सूची, खतरे की सूची है. साथ ही, इससे यह भी पता चलता है कि इस हैश की सूची में, हैश या हैश प्रीफ़िक्स से जुड़े किस तरह के खतरे शामिल हैं. अगर एंट्री से किसी तरह के खतरे का पता नहीं चलता है, तो यह फ़ील्ड खाली हो सकता है. जैसे, अगर एंट्री से किसी सुरक्षित टाइप का पता चलता है. |
likely_safe_types[] |
बिना क्रम वाली सूची. अगर यह खाली नहीं है, तो इसका मतलब है कि हैश की सूची में ऐसे हैश शामिल हैं जो सुरक्षित हो सकते हैं. साथ ही, इसमें यह भी बताया गया है कि उन्हें सुरक्षित क्यों माना जाता है. यह फ़ील्ड, threat_types फ़ील्ड के साथ काम नहीं करता. |
description |
इस सूची के बारे में ऐसी जानकारी जिसे कोई भी व्यक्ति आसानी से पढ़ सकता है. अंग्रेज़ी में लिखा गया हो. |
hash_length |
इस हैश सूची के लिए, हैश की लंबाई. हर हैश सूची में सिर्फ़ एक लंबाई का इस्तेमाल किया जा सकेगा. अगर एक ही तरह के खतरों या सुरक्षित टाइप के लिए, हैश की लंबाई अलग-अलग होती है, तो इसे अलग सूची के तौर पर पेश किया जाएगा. इसका नाम अलग होगा और हैश की लंबाई भी अलग सेट की जाएगी. |
HashLength
हैश की सूची में हैश की लंबाई.
| Enums | |
|---|---|
HASH_LENGTH_UNSPECIFIED |
तय नहीं की गई लंबाई. |
FOUR_BYTES |
हर हैश, चार बाइट का प्रीफ़िक्स होता है. |
EIGHT_BYTES |
हर हैश, आठ बाइट का प्रीफ़िक्स होता है. |
SIXTEEN_BYTES |
हर हैश, 16 बाइट का प्रीफ़िक्स होता है. |
THIRTY_TWO_BYTES |
हर हैश, 32 बाइट का पूरा हैश होता है. |
LikelySafeType
ऐसी साइटें जिनसे आपको नुकसान नहीं होगा.
ध्यान दें कि SearchHashesResponse में जान-बूझकर LikelySafeType को शामिल नहीं किया गया है.
| Enums | |
|---|---|
LIKELY_SAFE_TYPE_UNSPECIFIED |
अज्ञात. |
GENERAL_BROWSING |
यह साइट, सामान्य ब्राउज़िंग के लिए सुरक्षित हो सकती है. इसे ग्लोबल कैश मेमोरी भी कहा जाता है. |
CSD |
यह साइट शायद इतनी सुरक्षित है कि इस पर क्लाइंट-साइड डिटेक्शन मॉडल या पासवर्ड की सुरक्षा की जांच करने की ज़रूरत नहीं है. |
DOWNLOAD |
यह साइट शायद इतनी सुरक्षित है कि इस पर मौजूद फ़ाइलों को डाउनलोड करने से पहले उनकी जांच करने की ज़रूरत नहीं है. |
ListHashListsRequest
उपलब्ध हैश सूचियों को दिखाने का अनुरोध.
| फ़ील्ड | |
|---|---|
page_size |
ज़्यादा से ज़्यादा इतनी हैश सूचियां दिखाई जा सकती हैं. ऐसा हो सकता है कि सेवा इस वैल्यू से कम नतीजे दिखाए. अगर पेज का साइज़ नहीं बताया जाता है, तो सर्वर पेज का साइज़ चुनेगा. यह साइज़, हैश की गई सूचियों की संख्या से ज़्यादा हो सकता है, ताकि पेज नंबर डालने की ज़रूरत न पड़े. |
page_token |
यह एक पेज टोकन है, जो पिछले |
ListHashListsResponse
जवाब में हैश की गई सूचियों के बारे में मेटाडेटा होता है.
| फ़ील्ड | |
|---|---|
hash_lists[] |
हैश की सूचियां किसी भी क्रम में होती हैं. इसमें सिर्फ़ हैश की गई सूचियों का मेटाडेटा शामिल होगा, न कि कॉन्टेंट. |
next_page_token |
यह एक टोकन है. इसका इस्तेमाल |
RiceDeltaEncoded128Bit
यह RiceDeltaEncoded32Bit की तरह ही काम करता है. हालांकि, यह 128-बिट नंबरों को कोड में बदलता है.
| फ़ील्ड | |
|---|---|
first_value_hi |
कोड में बदले गए डेटा (हैश) में पहली एंट्री के ऊपरी 64 बिट. अगर फ़ील्ड खाली है, तो ऊपर के 64 बिट सभी शून्य होते हैं. |
first_value_lo |
एन्कोड किए गए डेटा (हैश) में पहली एंट्री के निचले 64 बिट. अगर फ़ील्ड खाली है, तो निचले 64 बिट सभी शून्य होते हैं. |
rice_parameter |
यह Golomb-Rice पैरामीटर है. इस पैरामीटर की वैल्यू, 99 से 126 के बीच होती है. |
entries_count |
कोड किए गए डेटा में, डेल्टा के तौर पर कोड की गई एंट्री की संख्या. अगर सिर्फ़ एक पूर्णांक को कोड में बदला गया था, तो यह शून्य होगा और एक वैल्यू को |
encoded_data |
गोलोम्ब-राइस कोडर का इस्तेमाल करके कोड में बदले गए डेल्टा. |
RiceDeltaEncoded256Bit
यह RiceDeltaEncoded32Bit फ़ंक्शन की तरह ही काम करता है. हालांकि, यह 256-बिट नंबर को कोड में बदलता है.
| फ़ील्ड | |
|---|---|
first_value_first_part |
कोड किए गए डेटा (हैश) में पहली एंट्री के पहले 64 बिट. अगर फ़ील्ड खाली है, तो पहले 64 बिट सभी शून्य होते हैं. |
first_value_second_part |
एन्कोड किए गए डेटा (हैश) की पहली एंट्री के 65 से 128 बिट. अगर फ़ील्ड खाली है, तो 65 से 128 तक की सभी बिट शून्य होती हैं. |
first_value_third_part |
एन्कोड किए गए डेटा (हैश) की पहली एंट्री के 129 से 192 बिट. अगर फ़ील्ड खाली है, तो 129 से 192 तक के सभी बिट शून्य होते हैं. |
first_value_fourth_part |
एन्कोड किए गए डेटा (हैश) में पहली एंट्री के आखिरी 64 बिट. अगर फ़ील्ड खाली है, तो आखिरी 64 बिट सभी शून्य होते हैं. |
rice_parameter |
यह Golomb-Rice पैरामीटर है. इस पैरामीटर की वैल्यू 227 से 254 के बीच होती है. इसमें ये दोनों वैल्यू भी शामिल हैं. |
entries_count |
कोड किए गए डेटा में, डेल्टा के तौर पर कोड की गई एंट्री की संख्या. अगर सिर्फ़ एक पूर्णांक को कोड में बदला गया था, तो यह शून्य होगा और एक वैल्यू को |
encoded_data |
गोलोम्ब-राइस कोडर का इस्तेमाल करके कोड में बदले गए डेल्टा. |
RiceDeltaEncoded32Bit
राइस-गोलॉम्ब एन्कोड किया गया डेटा. इसका इस्तेमाल हैश या हटाने के इंडेक्स के लिए किया जाता है. इस बात की गारंटी है कि यहां मौजूद हर हैश या इंडेक्स की लंबाई एक जैसी होती है. साथ ही, यह लंबाई ठीक 32 बिट होती है.
आम तौर पर, अगर हम सभी एंट्री को लेक्सिकोग्राफ़िक तरीके से क्रम में लगाते हैं, तो हम देखेंगे कि ज़्यादा ऑर्डर वाले बिट, कम ऑर्डर वाले बिट की तरह बार-बार नहीं बदलते. इसका मतलब है कि अगर हम एंट्री के बीच के अंतर को भी शामिल करते हैं, तो ज़्यादा ऑर्डर वाले बिट के शून्य होने की संभावना ज़्यादा होती है. यह तकनीक, शून्य होने की ज़्यादा संभावना का फ़ायदा उठाती है. इसके लिए, कुछ बिट चुने जाते हैं. इससे ज़्यादा अहमियत वाले सभी बिट के शून्य होने की संभावना होती है. इसलिए, हम यूनेरी एन्कोडिंग का इस्तेमाल करते हैं. rice_parameter फ़ील्ड देखें.
इतिहास से जुड़ी जानकारी: राइस-डेल्टा एन्कोडिंग का इस्तेमाल पहली बार इस एपीआई के V4 में किया गया था. V5 में दो अहम सुधार किए गए हैं: पहला, राइस-डेल्टा एन्कोडिंग अब 4 बाइट से ज़्यादा लंबे हैश प्रीफ़िक्स के साथ उपलब्ध है; दूसरा, एन्कोड किए गए डेटा को अब बिग-एंडियन के तौर पर माना जाता है, ताकि सॉर्टिंग के महंगे चरण से बचा जा सके.
| फ़ील्ड | |
|---|---|
first_value |
कोड किए गए डेटा (हैश या इंडेक्स) में पहली एंट्री या अगर सिर्फ़ एक हैश प्रीफ़िक्स या इंडेक्स को कोड किया गया था, तो उस एंट्री की वैल्यू. अगर फ़ील्ड खाली है, तो एंट्री शून्य होती है. |
rice_parameter |
यह Golomb-Rice पैरामीटर है. इस पैरामीटर की वैल्यू, 3 से 30 के बीच होनी चाहिए. |
entries_count |
कोड किए गए डेटा में, डेल्टा के तौर पर कोड की गई एंट्री की संख्या. अगर सिर्फ़ एक पूर्णांक को कोड में बदला गया था, तो यह शून्य होगा और एक वैल्यू को |
encoded_data |
गोलोम्ब-राइस कोडर का इस्तेमाल करके कोड में बदले गए डेल्टा. |
RiceDeltaEncoded64Bit
यह RiceDeltaEncoded32Bit जैसा ही है. हालांकि, यह 64-बिट नंबरों को कोड में बदलता है.
| फ़ील्ड | |
|---|---|
first_value |
एन्कोड किए गए डेटा (हैश) में पहली एंट्री या अगर सिर्फ़ एक हैश प्रीफ़िक्स को एन्कोड किया गया था, तो उस एंट्री की वैल्यू. अगर फ़ील्ड खाली है, तो एंट्री शून्य होती है. |
rice_parameter |
यह Golomb-Rice पैरामीटर है. इस पैरामीटर की वैल्यू 35 से 62 के बीच होती है. |
entries_count |
कोड किए गए डेटा में, डेल्टा के तौर पर कोड की गई एंट्री की संख्या. अगर सिर्फ़ एक पूर्णांक को कोड में बदला गया था, तो यह शून्य होगा और एक वैल्यू को |
encoded_data |
गोलोम्ब-राइस कोडर का इस्तेमाल करके कोड में बदले गए डेल्टा. |
SearchHashesRequest
क्लाइंट, खास हैश प्रीफ़िक्स खोजने के लिए यह अनुरोध करता है.
इसे सिर्फ़ खतरे की सूची में शामिल आइटम खोजने के लिए डिज़ाइन किया गया है. यह ग्लोबल कैश जैसी सूची में शामिल आइटम नहीं खोजता.
V5 में नया क्या है: क्लाइंट को अपने लोकल डेटाबेस में ClientInfo या हैश की गई सूचियों की स्थितियां बताने की ज़रूरत नहीं है. यह बेहतर निजता के लिए है. इसके अलावा, क्लाइंट को यह बताने की ज़रूरत नहीं है कि उन्हें किस तरह के खतरों में दिलचस्पी है.
| फ़ील्ड | |
|---|---|
hash_prefixes[] |
ज़रूरी है. वे हैश प्रीफ़िक्स जिन्हें खोजना है. क्लाइंट को 1,000 से ज़्यादा हैश प्रीफ़िक्स नहीं भेजने चाहिए. हालांकि, यूआरएल प्रोसेसिंग की प्रक्रिया के बाद, क्लाइंट को 30 से ज़्यादा हैश प्रीफ़िक्स भेजने की ज़रूरत नहीं होनी चाहिए. फ़िलहाल, हर हैश प्रीफ़िक्स की लंबाई ठीक चार बाइट होनी चाहिए. ऐसा हो सकता है कि आने वाले समय में, इसमें कुछ बदलाव किए जाएं. |
filter |
ज़रूरी नहीं. अगर क्लाइंट को फ़िल्टर करने में दिलचस्पी है, जैसे कि सिर्फ़ कुछ खास तरह के खतरों को वापस पाना है, तो इसे बताया जा सकता है. अगर इसे शामिल नहीं किया जाता है, तो मेल खाने वाली सभी थ्रेट वापस आ जाती हैं. हमारा सुझाव है कि आप इस विकल्प को न चुनें, ताकि आपको सुरक्षित ब्राउज़िंग की सुविधा से ज़्यादा से ज़्यादा सुरक्षा मिल सके. फ़िल्टर को Google की कॉमन एक्सप्रेशन लैंग्वेज का इस्तेमाल करके तय किया जाता है. इसके बारे में सामान्य उदाहरणों के साथ https://github.com/google/cel-spec पर जानकारी दी गई है. यहां कुछ खास उदाहरण दिए गए हैं, जिनका इस्तेमाल किया जा सकता है:
|
SearchHashesResponse
खतरे के हैश खोजने के बाद मिला जवाब.
अगर कुछ भी नहीं मिलता है, तो सर्वर, NOT_FOUND स्टेटस (एचटीटीपी स्टेटस कोड 404) दिखाने के बजाय, OK स्टेटस (एचटीटीपी स्टेटस कोड 200) दिखाएगा. साथ ही, full_hashes फ़ील्ड खाली होगा.
V5 में नया क्या है: FullHash और FullHashDetail को अलग कर दिया गया है. अगर कोई हैश ऐसी साइट को दिखाता है जिस पर कई तरह के खतरे मौजूद हैं (जैसे, MALWARE और SOCIAL_ENGINEERING, दोनों), तो पूरे हैश को V4 की तरह दो बार भेजने की ज़रूरत नहीं है. इसके अलावा, कैश मेमोरी की अवधि को एक ही cache_duration फ़ील्ड में शामिल कर दिया गया है.
| फ़ील्ड | |
|---|---|
full_hashes[] |
बिना क्रम वाली सूची. मिले पूरे हैश की क्रम से नहीं लगाई गई सूची. |
cache_duration |
क्लाइंट-साइड कैश मेमोरी में सेव रहने की अवधि. ऐक्सेस के खत्म होने का समय तय करने के लिए, क्लाइंट को इस अवधि को मौजूदा समय में जोड़ना होगा. इसके बाद, समयसीमा खत्म होने का समय, अनुरोध में क्लाइंट की ओर से क्वेरी किए गए हर हैश प्रीफ़िक्स पर लागू होता है. भले ही, जवाब में कितने भी पूरे हैश दिखाए गए हों. अगर सर्वर किसी हैश प्रीफ़िक्स के लिए कोई भी पूरा हैश नहीं दिखाता है, तो क्लाइंट को इस जानकारी को भी कैश मेमोरी में सेव करना होगा. अगर फ़ील्ड अहम जानकारी: क्लाइंट को यह नहीं मानना चाहिए कि सर्वर, सभी जवाबों के लिए कैश मेमोरी में सेव रहने की अवधि एक जैसी रखेगा. सर्वर, स्थिति के हिसाब से अलग-अलग जवाबों के लिए, कैश मेमोरी में सेव रखने की अलग-अलग अवधि चुन सकता है. |
SearchUrlsRequest
यह एक ऐसा अनुरोध होता है जिसे क्लाइंट, तय किए गए यूआरएल से मिलती-जुलती थ्रेट खोजने के लिए करता है.
इसे सिर्फ़ खतरे की सूची में शामिल आइटम खोजने के लिए डिज़ाइन किया गया है. यह ग्लोबल कैश जैसी सूची में शामिल आइटम नहीं खोजता.
| फ़ील्ड | |
|---|---|
urls[] |
ज़रूरी है. वे यूआरएल जिनकी जानकारी देखनी है. क्लाइंट को 50 से ज़्यादा यूआरएल नहीं भेजने चाहिए. |
SearchUrlsResponse
यह जवाब, बताए गए यूआरएल से मिलती-जुलती थ्रेट खोजने के बाद मिलता है.
अगर कुछ भी नहीं मिलता है, तो सर्वर, NOT_FOUND स्टेटस (एचटीटीपी स्टेटस कोड 404) दिखाने के बजाय, OK स्टेटस (एचटीटीपी स्टेटस कोड 200) दिखाएगा. साथ ही, threats फ़ील्ड खाली होगा.
| फ़ील्ड | |
|---|---|
threats[] |
बिना क्रम वाली सूची. खतरे से मिलते-जुलते मामलों की क्रम से नहीं लगाई गई सूची. हर एंट्री में एक यूआरएल और उस यूआरएल से मेल खाने वाले खतरों के टाइप शामिल होते हैं. अनुरोध में मौजूद यूआरएल की संख्या से ज़्यादा यूआरएल, सूची में हो सकते हैं. ऐसा इसलिए, क्योंकि यूआरएल के सभी एक्सप्रेशन को शामिल किया जाता है. |
cache_duration |
क्लाइंट-साइड कैश मेमोरी में सेव रहने की अवधि. ऐक्सेस के खत्म होने का समय तय करने के लिए, क्लाइंट को इस अवधि को मौजूदा समय में जोड़ना होगा. इसके बाद, अनुरोध में क्लाइंट की ओर से क्वेरी किए गए हर यूआरएल पर समयसीमा लागू होती है. भले ही, जवाब में कितने भी यूआरएल दिखाए गए हों. अगर सर्वर किसी यूआरएल के लिए कोई मैच नहीं दिखाता है, तो क्लाइंट को इस जानकारी को भी कैश मेमोरी में सेव करना होगा. अगर फ़ील्ड अहम जानकारी: क्लाइंट को यह नहीं मानना चाहिए कि सर्वर, सभी जवाबों के लिए कैश मेमोरी में सेव रहने की अवधि एक जैसी रखेगा. सर्वर, स्थिति के हिसाब से अलग-अलग जवाबों के लिए, कैश मेमोरी में सेव रखने की अलग-अलग अवधि चुन सकता है. |
SizeConstraints
हैश की गई सूचियों के साइज़ पर पाबंदियां.
| फ़ील्ड | |
|---|---|
max_update_entries |
ज़्यादा से ज़्यादा एंट्री की संख्या. अपडेट में इस वैल्यू से ज़्यादा एंट्री नहीं होंगी. हालांकि, ऐसा हो सकता है कि अपडेट में इस वैल्यू से कम एंट्री हों. यह वैल्यू कम से कम 1024 होनी चाहिए. अगर इस नीति को शामिल नहीं किया जाता है या इसकी वैल्यू शून्य पर सेट की जाती है, तो अपडेट के साइज़ की कोई सीमा सेट नहीं की जाती है. |
max_database_entries |
इससे उन एंट्री की ज़्यादा से ज़्यादा संख्या सेट की जाती है जिन्हें क्लाइंट, सूची के लिए लोकल डेटाबेस में रखना चाहता है. (सर्वर, क्लाइंट को इससे कम संख्या में एंट्री सेव करने के लिए कह सकता है.) अगर इसे शामिल नहीं किया जाता है या इसकी वैल्यू शून्य होती है, तो डेटाबेस के साइज़ की कोई सीमा सेट नहीं की जाती है. |
ThreatAttribute
खतरों के एट्रिब्यूट. इन एट्रिब्यूट से, किसी खास खतरे के बारे में ज़्यादा जानकारी मिल सकती है. हालांकि, इससे खतरे के टाइप पर कोई असर नहीं पड़ेगा. उदाहरण के लिए, किसी एट्रिब्यूट के लिए कॉन्फ़िडेंस लेवल कम हो सकता है, जबकि किसी दूसरे एट्रिब्यूट के लिए कॉन्फ़िडेंस लेवल ज़्यादा हो सकता है. आने वाले समय में, इसमें और एट्रिब्यूट जोड़े जा सकते हैं.
| Enums | |
|---|---|
THREAT_ATTRIBUTE_UNSPECIFIED |
अनजान एट्रिब्यूट. अगर सर्वर से यह वैल्यू मिलती है, तो क्लाइंट FullHashDetail को पूरी तरह से अनदेखा कर देगा. |
CANARY |
इससे पता चलता है कि उल्लंघन ठीक करने के लिए, threat_type का इस्तेमाल नहीं किया जाना चाहिए. |
FRAME_ONLY |
इससे पता चलता है कि threat_type का इस्तेमाल सिर्फ़ फ़्रेम पर पाबंदी लगाने के लिए किया जाना चाहिए. |
ThreatType
अलग-अलग तरह के खतरे.
| Enums | |
|---|---|
THREAT_TYPE_UNSPECIFIED |
खतरे के टाइप की जानकारी नहीं है. अगर सर्वर से यह वैल्यू मिलती है, तो क्लाइंट FullHashDetail को पूरी तरह से अनदेखा कर देगा. |
MALWARE |
मैलवेयर के खतरे का टाइप. मैलवेयर एक तरह का सॉफ़्टवेयर या मोबाइल ऐप्लिकेशन होता है. इसे खास तौर पर किसी कंप्यूटर, मोबाइल डिवाइस, उन पर इस्तेमाल किए जा रहे सॉफ़्टवेयर या उनके उपयोगकर्ताओं को नुकसान पहुंचाने के लिए बनाया जाता है. मैलवेयर से उपयोगकर्ता को नुकसान पहुंचाने वाली गतिविधियां की जाती हैं. इसमें उपयोगकर्ता की सहमति के बिना सॉफ़्टवेयर इंस्टॉल करने और वायरस जैसे नुकसान पहुंचाने वाले सॉफ़्टवेयर इंस्टॉल करने जैसी गतिविधियां शामिल हो सकती हैं. इस बारे में ज़्यादा जानकारी यहां मिल सकती है. |
SOCIAL_ENGINEERING |
सोशल इंजीनियरिंग के ज़रिए होने वाले खतरे का टाइप. सोशल इंजीनियरिंग वाले पेज, तीसरे पक्ष की ओर से काम करने का झूठा दावा करते हैं. ऐसा इसलिए किया जाता है, ताकि दर्शकों को भ्रमित करके कोई ऐसी कार्रवाई कराई जा सके जिसे दर्शक सिर्फ़ तीसरे पक्ष के भरोसेमंद एजेंट के साथ करते हैं. फ़िशिंग, सोशल इंजीनियरिंग का एक तरीका है. इसमें व्यूअर को गुमराह करके, उससे लॉगिन क्रेडेंशियल जैसी जानकारी हासिल की जाती है. इस बारे में ज़्यादा जानकारी यहां मिल सकती है. |
UNWANTED_SOFTWARE |
अनचाहे सॉफ़्टवेयर के खतरे का टाइप. अनचाहा सॉफ़्टवेयर ऐसा सॉफ़्टवेयर होता है जो सॉफ़्टवेयर के लिए बने Google के सिद्धांतों का पालन नहीं करता, लेकिन मैलवेयर नहीं होता. |
POTENTIALLY_HARMFUL_APPLICATION |
नुकसान पहुंचाने की आशंका वाले ऐप्लिकेशन के खतरे का टाइप जैसा कि Google Play Protect, Play Store के लिए इस्तेमाल करता है. |
ThreatUrl
ऐसा यूआरएल जो एक या उससे ज़्यादा खतरों से मेल खाता हो.
| फ़ील्ड | |
|---|---|
url |
अनुरोध किया गया वह यूआरएल जिससे एक या उससे ज़्यादा खतरों का पता चला है. |
threat_types[] |
बिना क्रम वाली सूची. यह यूआरएल को जिस तरह के खतरों के तौर पर कैटगरी में रखा गया है उनकी क्रम से न लगी सूची. |