- एचटीटीपी अनुरोध
- क्वेरी पैरामीटर
- अनुरोध का मुख्य हिस्सा
- जवाब का मुख्य हिस्सा
- FullHash
- FullHashDetail
- ThreatAttribute
बताए गए प्रीफ़िक्स से मेल खाने वाले पूरे हैश खोजें.
यह पसंद के मुताबिक बनाया गया तरीका है, जैसा कि https://google.aip.dev/136 ने बताया है. कस्टम तरीके का मतलब है कि Google के सामान्य एपीआई डेवलपमेंट नाम में, कस्टम नाम मौजूद है. इसका मतलब यह नहीं है कि कस्टम एचटीटीपी तरीके का इस्तेमाल किया जा सकता है.
एचटीटीपी अनुरोध
GET https://safebrowsing.googleapis.com/v5alpha1/hashes:search
यह यूआरएल gRPC ट्रांसकोडिंग सिंटैक्स का इस्तेमाल करता है.
क्वेरी पैरामीटर
| पैरामीटर | |
|---|---|
hashPrefixes[] |
ज़रूरी है. खोजने के लिए हैश प्रीफ़िक्स. क्लाइंट को 1,000 से ज़्यादा हैश प्रीफ़िक्स नहीं भेजने चाहिए. हालांकि, यूआरएल प्रोसेस करने की प्रोसेस का पालन करने पर, क्लाइंट को 30 से ज़्यादा हैश प्रीफ़िक्स भेजने की ज़रूरत नहीं होनी चाहिए. फ़िलहाल, हर हैश प्रीफ़िक्स ठीक 4 बाइट होना ज़रूरी है. आने वाले समय में इससे राहत मिल सकती है. base64 कोड में बदली गई स्ट्रिंग. |
filter |
ज़रूरी नहीं. अगर क्लाइंट फ़िल्टर करने में दिलचस्पी रखता है, जैसे कि सिर्फ़ खास तरह के खतरों की जानकारी हासिल करना, तो इसके बारे में बताया जा सकता है. अगर इसे छोड़ दिया जाता है, तो मिलते-जुलते सभी खतरों को वापस कर दिया जाता है. हमारा सुझाव है कि आप इस जानकारी को हटा दें, ताकि सुरक्षित ब्राउज़िंग की मदद से आपको सबसे ज़्यादा सुरक्षा मिल सके. फ़िल्टर को Google कॉमन एक्सप्रेशन लैंग्वेज का इस्तेमाल करके तय किया जाता है. इसे सामान्य उदाहरणों के साथ https://github.com/google/cel-spec पर देखा जा सकता है. यहां कुछ खास उदाहरण दिए गए हैं, जिनका इस्तेमाल यहां किया जा सकता है: फ़िल्टर फ़िल्टर |
अनुरोध का मुख्य भाग
अनुरोध का मुख्य हिस्सा खाली होना चाहिए.
जवाब का मुख्य भाग
थ्रेट हैश को खोजने से मिलने वाला रिस्पॉन्स.
अगर कुछ भी नहीं मिलता है, तो सर्वर, NOT_FOUND स्थिति (एचटीटीपी स्टेटस कोड 404) के बजाय, fullHashes फ़ील्ड को खाली छोड़कर, 'OK' स्टेटस (एचटीटीपी स्टेटस कोड 200) दिखाएगा.
V5 में नया क्या है: FullHash और FullHashDetail के बीच फ़र्क़ है. इस मामले में, जब हैश एक से ज़्यादा खतरों वाली साइट को दिखाता है (जैसे, MALWARE और SOCIAL_engineERING दोनों), तो पूरे हैश को V4 के मुकाबले दो बार भेजने की ज़रूरत नहीं है. इसके अलावा, कैश मेमोरी की अवधि को एक cacheDuration फ़ील्ड में सरल कर दिया गया है.
अगर एपीआई सही से जुड़ जाता है, ताे जवाब के मुख्य भाग में नीचे दिए गए स्ट्रक्चर शामिल होता है.
| JSON के काेड में दिखाना |
|---|
{
"fullHashes": [
{
object ( |
| फ़ील्ड | |
|---|---|
fullHashes[] |
बिना क्रम वाली सूची. पूरे हैश की बिना क्रम वाली सूची मिली. |
cacheDuration |
क्लाइंट-साइड कैश मेमोरी की अवधि. समयसीमा खत्म होने का समय तय करने के लिए, क्लाइंट को इस अवधि को मौजूदा समय में जोड़ना होगा. इसके बाद, अनुरोध करते समय क्लाइंट की क्वेरी के बाद मिले हर हैश प्रीफ़िक्स पर समयसीमा खत्म हो जाती है. भले ही, रिस्पॉन्स में कितने पूरे हैश दिए गए हों. अगर सर्वर किसी खास हैश प्रीफ़िक्स के लिए पूरे हैश नहीं दिखाता है, तब भी क्लाइंट को इस जानकारी को कैश मेमोरी में सेव करना होगा. अगर अहम जानकारी: क्लाइंट को यह नहीं मानना चाहिए कि सभी रिस्पॉन्स के लिए सर्वर, कैश मेमोरी की एक ही अवधि दिखाएगा. सर्वर, स्थिति के हिसाब से अलग-अलग रिस्पॉन्स के लिए कैश मेमोरी की अलग-अलग अवधि चुन सकता है. सेकंड में कुल नौ दशमलव अंक, जो ' |
FullHash
पूरे हैश की पहचान एक या उससे ज़्यादा मैच से की गई.
| JSON के काेड में दिखाना |
|---|
{
"fullHash": string,
"fullHashDetails": [
{
object ( |
| फ़ील्ड | |
|---|---|
fullHash |
मैच करने वाला पूरा हैश. यह SHA256 हैश है. लंबाई ठीक 32 बाइट होगी. base64 कोड में बदली गई स्ट्रिंग. |
fullHashDetails[] |
बिना क्रम वाली सूची. दोहराया गया फ़ील्ड, जो इस पूरे हैश से जुड़ी जानकारी की पहचान करता है. |
FullHashDetail
मैच करने वाले पूरे हैश के बारे में जानकारी.
फ़ॉरवर्ड किए जाने वाले काम के साथ काम करने के बारे में ज़रूरी जानकारी: सर्वर किसी भी समय नए तरह के खतरों और एट्रिब्यूट को जोड़ सकता है; उन जोड़ों को वर्शन में किए गए छोटे बदलाव माना जाता है. Google की नीति है कि एपीआई में माइनर वर्शन नंबर न दिखाएं (वर्शन नीति के लिए https://cloud.google.com/apis/design/versioning देखें). इसलिए, क्लाइंट को ThreatType ईनम वैल्यू या ThreatAttribute ईनम वैल्यू वाले FullHashDetail ऐसे मैसेज पाने के लिए तैयार रहना चाहिए जिन्हें क्लाइंट अमान्य माने. इसलिए, ThreatType और ThreatAttribute के सभी ईनम मानों की मान्यता की जांच करना क्लाइंट की ज़िम्मेदारी है; अगर कोई वैल्यू अमान्य लगती है, तो क्लाइंट को पूरे FullHashDetail मैसेज को अनदेखा करना होगा.
| JSON के काेड में दिखाना |
|---|
{ "threatType": enum ( |
| फ़ील्ड | |
|---|---|
threatType |
खतरे का टाइप. यह फ़ील्ड कभी भी खाली नहीं होगी. |
attributes[] |
बिना क्रम वाली सूची. उन पूरे हैश के बारे में अतिरिक्त एट्रिब्यूट. यह खाली हो सकता है. |
ThreatAttribute
खतरों के एट्रिब्यूट. इन एट्रिब्यूट का मतलब, किसी खास खतरे को और बढ़ सकता है. हालांकि, इनसे खतरे के टाइप पर कोई असर नहीं पड़ेगा. उदाहरण के लिए, कोई एट्रिब्यूट कम कॉन्फ़िडेंस को बता सकता है, जबकि कोई दूसरा एट्रिब्यूट, ज़्यादा कॉन्फ़िडेंस के बारे में बता सकता है. आने वाले समय में और एट्रिब्यूट जोड़े जा सकते हैं.
| Enums | |
|---|---|
THREAT_ATTRIBUTE_UNSPECIFIED |
अज्ञात विशेषता. अगर सर्वर इसे दिखाता है, तो क्लाइंट FullHashDetail को पूरी तरह से अनदेखा कर देगा. |
CANARY |
इससे पता चलता है कि खतरे के टाइप का इस्तेमाल, नीति उल्लंघन ठीक करने के तरीके (एनफ़ोर्समेंट) के लिए नहीं किया जाना चाहिए. |
FRAME_ONLY |
इससे पता चलता है कि खतरे के टाइप का इस्तेमाल, सिर्फ़ फ़्रेम पर नीति उल्लंघन ठीक करने के तरीके (एनफ़ोर्समेंट) के लिए किया जाना चाहिए. |