Wenn Clients Google Safe Browsing v5 in diesem Modus verwenden, ähnelt das Clientverhalten der v4 Update API, nur dass die verbesserte API-Oberfläche von v5 verwendet wird. Clients führen in ihrer lokalen Datenbank eine Reihe von Bedrohungslisten, die als SHA256-Hash-Präfixe von URL-Ausdrücken mit Host-Suffix/Pfad-Präfix formatiert sind. Wenn der Client eine bestimmte URL prüfen möchte, wird eine Prüfung anhand der lokalen Bedrohungsliste durchgeführt. Nur wenn eine Übereinstimmung vorliegt, stellt der Client eine Verbindung zum Server her, um die Prüfung fortzusetzen.
Wie oben beschrieben, wird der Client auch einen lokalen Cache verwalten, der nicht im nichtflüchtigen Speicher sein muss.
Verfahren zur Prüfung von URLs in der lokalen Bedrohungsliste
Dieser Vorgang wird auch ausgeführt, wenn der Client den Vorgang Echtzeitmodus verwendet und der Wert UNSURE zurückgegeben wird.
Diese Prozedur verwendet eine einzelne URL u und gibt SAFE oder UNSAFE zurück.
- Sei
expressionseine Liste von Suffix-/Präfixausdrücken, die von der URLugeneriert werden. - Sei
expressionHasheseine Liste, deren Elemente SHA256-Hashes der einzelnen Ausdrücke inexpressionssind. - Sei
expressionHashPrefixeseine Liste, deren Elemente die ersten 4 Byte jedes Hashs inexpressionHashessind. - Für jede
expressionHashPrefixvonexpressionHashPrefixes:expressionHashPrefixim lokalen Cache nachschlagen- Wenn der Cache-Eintrag gefunden wird:
- Ermitteln Sie, ob die aktuelle Zeit nach der Ablaufzeit liegt.
- Wenn der Wert größer ist:
- Entfernen Sie den gefundenen Cache-Eintrag aus dem lokalen Cache.
- Fahren Sie mit der Schleife fort.
- Wenn er nicht größer ist:
- Entfernen Sie diese
expressionHashPrefixausexpressionHashPrefixes. - Prüfen Sie, ob der entsprechende vollständige Hash innerhalb von
expressionHashesim Cache-Eintrag gefunden wird. - Wenn gefunden, wird
UNSAFEzurückgegeben. - Wenn er nicht gefunden wird, fahren Sie mit der Schleife fort.
- Entfernen Sie diese
- Wenn der Cache-Eintrag nicht gefunden wird, wird die Schleife fortgesetzt.
- Für jede
expressionHashPrefixvonexpressionHashPrefixes:- Suchen Sie
expressionHashPrefixin der lokalen Datenbank mit der Bedrohungsliste. - Wenn
expressionHashPrefixnicht in der lokalen Datenbank mit der Liste der Bedrohungen gefunden werden kann, entfernen Sie sie ausexpressionHashPrefixes.
- Suchen Sie
- Senden Sie
expressionHashPrefixesmit RPC SearchHashes oder der REST-Methode hashes.search an den Google Safe Browsing v5-Server. Wenn ein Fehler aufgetreten ist (einschließlich Netzwerkfehler, HTTP-Fehler usw.), geben SieSAFEzurück. Andernfalls sei die Antwort dieresponse, die vom Safe Browsing-Server empfangen wurde. Das ist eine Liste mit vollständigen Hashes zusammen mit einigen Zusatzinformationen, die die Art der Bedrohung (Social Engineering, Malware usw.) sowie die Cache-Ablaufzeitexpirationangeben. - Für jede
fullHashvonresponse:- Füge
fullHashzusammen mitexpirationin den lokalen Cache ein.
- Füge
- Für jede
fullHashvonresponse:- Sei
isFounddas Ergebnis der Suche nachfullHashinexpressionHashes. - Wenn
isFound„False“ ist, wird die Schleife fortgesetzt. - Wenn
isFound„True“ ist, wirdUNSAFEzurückgegeben.
- Sei
- Rückflug
SAFE.