Method: hashes.search

तय किए गए प्रीफ़िक्स से मेल खाने वाले पूरे हैश खोजें.

यह https://google.aip.dev/136 के मुताबिक तय किया गया, पसंद के मुताबिक तरीका है. कस्टम तरीके का मतलब है कि Google के सामान्य एपीआई डेवलपमेंट नाम में पसंद के मुताबिक नाम होने पर, इसका मतलब कस्टम एचटीटीपी तरीके के इस्तेमाल से नहीं है.

एचटीटीपी अनुरोध

GET https://safebrowsing.googleapis.com/v5alpha1/hashes:search

यह यूआरएल gRPC ट्रांसकोडिंग सिंटैक्स का इस्तेमाल करता है.

क्वेरी पैरामीटर

पैरामीटर
hashPrefixes[]

string (bytes format)

ज़रूरी है. खोजे जाने वाले हैश प्रीफ़िक्स. क्लाइंट को 1,000 से ज़्यादा हैश प्रीफ़िक्स नहीं भेजने चाहिए. हालांकि, यूआरएल प्रोसेसिंग प्रोसेस का इस्तेमाल करने पर, क्लाइंट को 30 से ज़्यादा हैश प्रीफ़िक्स भेजने की ज़रूरत नहीं होगी.

फ़िलहाल, हर हैश प्रीफ़िक्स का साइज़ चार बाइट होना चाहिए. आने वाले समय में, हम राहत पा सकते हैं.

base64 कोड में बदली गई स्ट्रिंग.

filter

string

ज़रूरी नहीं. अगर क्लाइंट को फ़िल्टर करने में दिलचस्पी है, जैसे कि सिर्फ़ खास तरह के खतरों की जानकारी पाना, तो इसके बारे में बताया जा सकता है. ध्यान न देने पर, मिलते-जुलते सभी खतरे वापस आ जाते हैं. हमारा सुझाव है कि आप इसे छोड़ दें, ताकि सुरक्षित ब्राउज़िंग के ज़रिए ज़्यादा से ज़्यादा सुरक्षा मिल सके. फ़िल्टर एक्सप्रेशन के सिंटैक्स के बारे में जानने के लिए, https://google.aip.dev/160 पर जाएं.

अनुरोध का मुख्य भाग

अनुरोध का मुख्य हिस्सा खाली होना चाहिए.

जवाब का मुख्य भाग

थ्रेट हैश की खोज करने के बाद रिस्पॉन्स मिला.

अगर कुछ भी नहीं मिलता है, तो सर्वर, NOT_FOUND की स्थिति (एचटीटीपी स्टेटस कोड 404) दिखाने के बजाय, 'ठीक है' स्टेटस (एचटीटीपी स्टेटस कोड 200) दिखाएगा. इसमें fullHashes फ़ील्ड खाली होगा.

V5 में नया क्या है: FullHash और FullHashDetail के बीच अंतर है. ऐसे मामले में, जब कोई हैश किसी ऐसी साइट को दिखाता है जिसमें कई खतरे होते हैं (जैसे कि MALWARE और SOCIAL_engineERING), तो पूरा हैश को V4 की तुलना में दो बार भेजने की ज़रूरत नहीं होती. इसके अलावा, कैश मेमोरी की अवधि को आसान बनाकर, एक cacheDuration फ़ील्ड बना दिया गया है.

अगर एपीआई सही से जुड़ जाता है, ताे जवाब के मुख्य भाग में नीचे दिए गए स्ट्रक्चर शामिल होता है.

जेएसओएन के काेड में दिखाना
{
  "fullHashes": [
    {
      object (FullHash)
    }
  ],
  "cacheDuration": string
}
फ़ील्ड
fullHashes[]

object (FullHash)

बिना क्रम वाली सूची. पूरे हैश की बिना क्रम वाली सूची मिली.

cacheDuration

string (Duration format)

क्लाइंट-साइड कैश मेमोरी की अवधि. समयसीमा खत्म होने का समय तय करने के लिए, क्लाइंट को इस अवधि को मौजूदा समय में जोड़ना होगा. इसके बाद, क्लाइंट के अनुरोध में पूछे गए हर हैश प्रीफ़िक्स के लिए, समयसीमा खत्म होने का समय लागू होता है. इससे कोई फ़र्क़ नहीं पड़ता कि जवाब में कितने पूरे हैश दिए गए हैं. भले ही, सर्वर किसी खास हैश प्रीफ़िक्स के लिए पूरे हैश नहीं दिखाता हो, लेकिन क्लाइंट की ओर से इस तथ्य को भी कैश मेमोरी में सेव किया जाना चाहिए.

ज़रूरी जानकारी: क्लाइंट को यह नहीं मानना चाहिए कि सर्वर सभी रिस्पॉन्स के लिए एक जैसी कैश मेमोरी दिखाएगा. सर्वर स्थिति के आधार पर अलग-अलग रिस्पॉन्स के लिए, कैश मेमोरी की अलग-अलग अवधि चुन सकता है.

सेकंड में दी गई अवधि, जिसमें नौ भिन्नांक हो सकते हैं. साथ ही, यह 's' पर खत्म होता है. उदाहरण: "3.5s".

FullHash

एक या उससे ज़्यादा मैच होने वाले पूरे हैश की पहचान की गई.

जेएसओएन के काेड में दिखाना
{
  "fullHash": string,
  "fullHashDetails": [
    {
      object (FullHashDetail)
    }
  ]
}
फ़ील्ड
fullHash

string (bytes format)

मैच करने वाला पूरा हैश. यह SHA256 हैश है. इसकी लंबाई ठीक 32 बाइट होगी.

base64 कोड में बदली गई स्ट्रिंग.

fullHashDetails[]

object (FullHashDetail)

बिना क्रम वाली सूची. इस पूरे हैश से जुड़ी जानकारी की पहचान करने वाला दोहराया गया फ़ील्ड.

FullHashDetail

मैच करने वाले पूरे हैश के बारे में जानकारी.

फ़ॉरवर्ड करने की सुविधा के साथ काम करने के बारे में एक ज़रूरी जानकारी: सर्वर किसी भी समय नए तरह के खतरे और खतरे वाले एट्रिब्यूट जोड़ सकता है. इन सुविधाओं को जोड़े गए छोटे वर्शन में हुए बदलाव माना जाता है. Google की नीति है कि वह एपीआई में माइनर वर्शन नंबर को सार्वजनिक न करे (वर्शन नीति के लिए https://cloud.google.com/apis/design/versioning देखें). इसलिए, क्लाइंट को ThreatType enum वैल्यू या ThreatAttribute इनम वैल्यू वाले ऐसे FullHashDetail मैसेज पाने के लिए तैयार रहना चाहिए जिन्हें क्लाइंट ने अमान्य माना हो. इसलिए, सभी ThreatType और ThreatAttribute एनम वैल्यू की वैधता की जांच करना क्लाइंट की ज़िम्मेदारी है. अगर कोई वैल्यू अमान्य होती है, तो क्लाइंट को पूरे FullHashDetail मैसेज को अनदेखा करना होगा.

जेएसओएन के काेड में दिखाना
{
  "threatType": enum (ThreatType),
  "attributes": [
    enum (ThreatAttribute)
  ]
}
फ़ील्ड
threatType

enum (ThreatType)

खतरा किस तरह का है. यह फ़ील्ड कभी खाली नहीं रहेगा.

attributes[]

enum (ThreatAttribute)

बिना क्रम वाली सूची. इन सभी हैश के बारे में अतिरिक्त एट्रिब्यूट. यह खाली हो सकता है.

ThreatAttribute

खतरों की विशेषताएं. इन एट्रिब्यूट की मदद से, किसी खास तरह के खतरे को और बेहतर तरीके से समझा जा सकता है. हालांकि, इसका असर इस पर नहीं पड़ेगा. उदाहरण के लिए, हो सकता है कि कोई एट्रिब्यूट कम भरोसे के बारे में बताता हो, जबकि किसी दूसरे एट्रिब्यूट से ज़्यादा भरोसे के बारे में पता चलता है. आने वाले समय में इसमें और एट्रिब्यूट जोड़े जा सकते हैं.

Enums
THREAT_ATTRIBUTE_UNSPECIFIED अज्ञात विशेषता. अगर इसे सर्वर से लौटाया जाता है, तो क्लाइंट शामिल किए गए FullHashDetail को पूरी तरह से अनदेखा कर देगा.
CANARY इससे यह पता चलता है कि खतरे टाइप का इस्तेमाल नीति उल्लंघन ठीक करने के तरीके (एनफ़ोर्समेंट) के लिए नहीं किया जाना चाहिए.
FRAME_ONLY इससे यह पता चलता है कि खतरे टाइप का इस्तेमाल सिर्फ़ फ़्रेम पर नीति उल्लंघन ठीक करने के तरीके (एनफ़ोर्समेंट) के लिए किया जाना चाहिए.