Method: hashes.search

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

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

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

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

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

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

पैरामीटर
hashPrefixes[]

string (bytes format)

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

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

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

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

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

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

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

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

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

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

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

object (FullHash)

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

cacheDuration

string (Duration format)

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

अगर fullHashes फ़ील्ड खाली है, तो क्लाइंट cacheDuration को बढ़ा सकता है, ताकि एक नई समयसीमा तय की जा सके. यह समयसीमा, सर्वर के तय किए गए समय के बाद की है. किसी भी स्थिति में, कैश मेमोरी की बढ़ी हुई अवधि 24 घंटे से ज़्यादा नहीं होनी चाहिए.

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

सेकंड में कुल नौ दशमलव अंक, जो 's' पर खत्म होते हैं. उदाहरण: "3.5s".

FullHash

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

JSON के काेड में दिखाना
{
  "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 ईनम वैल्यू या ThreatAttribute ईनम वैल्यू वाले FullHashDetail ऐसे मैसेज पाने के लिए तैयार रहना चाहिए जिन्हें क्लाइंट अमान्य माने. इसलिए, ThreatType और ThreatAttribute के सभी ईनम मानों की मान्यता की जांच करना क्लाइंट की ज़िम्मेदारी है; अगर कोई वैल्यू अमान्य लगती है, तो क्लाइंट को पूरे FullHashDetail मैसेज को अनदेखा करना होगा.

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

enum (ThreatType)

खतरे का टाइप. यह फ़ील्ड कभी भी खाली नहीं होगी.

attributes[]

enum (ThreatAttribute)

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

ThreatType

खतरों के टाइप.

Enums
THREAT_TYPE_UNSPECIFIED खतरे के टाइप की जानकारी नहीं है. अगर सर्वर इसे दिखाता है, तो क्लाइंट FullHashDetail को पूरी तरह से अनदेखा कर देगा.
MALWARE

मैलवेयर का खतरा. मैलवेयर एक तरह का सॉफ़्टवेयर या मोबाइल ऐप्लिकेशन होता है. इसे खास तौर पर किसी कंप्यूटर, मोबाइल डिवाइस, उन पर इस्तेमाल किए जा रहे सॉफ़्टवेयर या उनके उपयोगकर्ताओं को नुकसान पहुंचाने के लिए बनाया जाता है. मैलवेयर से उपयोगकर्ता को नुकसान पहुंचाने वाली गतिविधियां की जाती हैं. इसमें उपयोगकर्ता की सहमति के बिना सॉफ़्टवेयर इंस्टॉल करने और वायरस जैसे नुकसान पहुंचाने वाले सॉफ़्टवेयर इंस्टॉल करने जैसी गतिविधियां शामिल हो सकती हैं.

इस बारे में ज़्यादा जानकारी यहां मिल सकती है.

SOCIAL_ENGINEERING

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

इस बारे में ज़्यादा जानकारी यहां मिल सकती है.

UNWANTED_SOFTWARE अनचाहा सॉफ़्टवेयर से जुड़ा खतरा. अनचाहा सॉफ़्टवेयर, ऐसा सॉफ़्टवेयर होता है जो Google के सॉफ़्टवेयर सिद्धांतों का पालन नहीं करता, लेकिन मैलवेयर नहीं होता.
POTENTIALLY_HARMFUL_APPLICATION Play Store के लिए Google Play Protect में इस्तेमाल किया गया, नुकसान पहुंचा सकने वाले ऐप्लिकेशन का खतरा.

ThreatAttribute

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

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