- Richiesta HTTP
- Corpo della richiesta
- Corpo della risposta
- ListUpdateRequest
- Vincoli
- CompressionType
- ListUpdateResponse
- ResponseType
- ThreatEntrySet
- RawHashes
- RawIndices
- RiceDeltaEncoding
- Checksum
Recupera gli aggiornamenti più recenti dell'elenco delle minacce. Un cliente può richiedere aggiornamenti per più elenchi contemporaneamente.
Richiesta HTTP
POST https://safebrowsing.googleapis.com/v4/threatListUpdates:fetch
L'URL utilizza la sintassi di transcodifica gRPC.
Corpo della richiesta
Il corpo della richiesta contiene dati con la seguente struttura:
Rappresentazione JSON |
---|
{ "client": { object ( |
Campi | |
---|---|
client |
I metadati del client. |
listUpdateRequests[] |
L'elenco delle minacce richiesto è stato aggiornato. |
Corpo della risposta
In caso di esito positivo, il corpo della risposta contiene dati con la seguente struttura:
Rappresentazione JSON |
---|
{
"listUpdateResponses": [
{
object ( |
Campi | |
---|---|
listUpdateResponses[] |
Gli aggiornamenti dell'elenco richiesti dai client. Il numero di risposte qui potrebbe essere inferiore al numero di richieste inviate dai clienti. ad esempio se il server non dispone di aggiornamenti per un determinato elenco. |
minimumWaitDuration |
La durata minima che il client deve attendere prima di inviare qualsiasi richiesta di aggiornamento. Se questo campo non viene impostato, i clienti possono eseguire l'aggiornamento appena vogliono. Una durata in secondi con un massimo di nove cifre frazionarie, che termina con " |
ListUpdateRequest
Una singola richiesta di aggiornamento dell'elenco.
Rappresentazione JSON |
---|
{ "threatType": enum ( |
Campi | |
---|---|
threatType |
Il tipo di minaccia rappresentata dalle voci presenti nell'elenco. |
platformType |
Il tipo di piattaforma a rischio in base alle voci presenti nell'elenco. |
threatEntryType |
I tipi di voci presenti nell'elenco. |
state |
Lo stato attuale del client per l'elenco richiesto (lo stato del client criptato ricevuto dall'ultimo aggiornamento dell'elenco riuscito). Una stringa con codifica Base64. |
constraints |
I vincoli associati a questa richiesta. |
Vincoli
I vincoli per questo aggiornamento.
Rappresentazione JSON |
---|
{
"maxUpdateEntries": integer,
"maxDatabaseEntries": integer,
"region": string,
"supportedCompressions": [
enum ( |
Campi | |
---|---|
maxUpdateEntries |
La dimensione massima nel numero di voci. L'aggiornamento non conterrà più voci di questo valore. Deve essere una potenza di 2 compresa tra 2**10 e 2**20. Se il valore è zero, non viene impostato alcun limite per le dimensioni degli aggiornamenti. |
maxDatabaseEntries |
Imposta il numero massimo di voci che il client è disposto ad avere nel database locale per l'elenco specificato. Deve essere una potenza di 2 compresa tra 2**10 e 2**20. Se è pari a zero, non viene impostato alcun limite di dimensione del database. |
region |
Richiede l'elenco di una posizione geografica specifica. Se non viene configurato, il server può scegliere questo valore in base all'indirizzo IP dell'utente. È richiesto il formato ISO 3166-1 alpha-2. |
supportedCompressions[] |
I tipi di compressione supportati dal client. |
language |
Richiede gli elenchi per una lingua specifica. È richiesto il formato ISO 639 alpha-2. |
deviceLocation |
La località fisica di un cliente, espressa come codice regione ISO 31166-1 alpha-2. |
CompressionType
Modi in cui gli insiemi di accessi di minacce possono essere compressi.
Enum | |
---|---|
COMPRESSION_TYPE_UNSPECIFIED |
Sconosciuto. |
RAW |
Dati non elaborati e non compressi. |
RICE |
Dati codificati in Rice-Golomb. |
ListUpdateResponse
Aggiornamento di un singolo elenco.
Rappresentazione JSON |
---|
{ "threatType": enum ( |
Campi | |
---|---|
threatType |
Il tipo di minaccia per cui vengono restituiti i dati. |
threatEntryType |
Il formato delle minacce. |
platformType |
Il tipo di piattaforma per il quale vengono restituiti i dati. |
responseType |
Il tipo di risposta. Ciò può indicare che il client deve eseguire un'azione quando riceve la risposta. |
additions[] |
Un insieme di voci da aggiungere all'elenco di un tipo di minaccia locale. Ripetizione della procedura per consentire l'invio di una combinazione di dati compressi e non elaborati in un'unica risposta. |
removals[] |
Un insieme di voci da rimuovere dall'elenco di un tipo di minaccia locale. In pratica, questo campo è vuoto o contiene esattamente un ThreatEntrySet. |
newClientState |
Il nuovo stato del client in formato criptato. Opaca per i clienti. Una stringa con codifica Base64. |
checksum |
L'hash SHA256 previsto dello stato del client, ovvero l'elenco ordinato di tutti gli hash presenti nel database dopo l'applicazione dell'aggiornamento fornito. Se lo stato del client non corrisponde a quello previsto, il client deve ignorare questo aggiornamento e riprovare più tardi. |
ResponseType
Il tipo di risposta inviato al client.
Enum | |
---|---|
RESPONSE_TYPE_UNSPECIFIED |
Sconosciuto. |
PARTIAL_UPDATE |
Gli aggiornamenti parziali vengono applicati al database locale esistente del client. |
FULL_UPDATE |
Gli aggiornamenti completi sostituiscono l'intero database locale del client. Ciò significa che il cliente era gravemente obsoleto o che è ritenuto corrotto. |
ThreatEntrySet
Un insieme di minacce che deve essere aggiunto o rimosso dal database locale di un client.
Rappresentazione JSON |
---|
{ "compressionType": enum ( |
Campi | |
---|---|
compressionType |
Il tipo di compressione per le voci di questo insieme. |
rawHashes |
Le voci in formato SHA256 non elaborate. |
rawIndices |
Gli indici di rimozione non elaborati per un elenco locale. |
riceHashes |
I prefissi da 4 byte codificati delle voci in formato SHA256, utilizzando una codifica Golomb-Rice. Gli hash vengono convertiti in uint32, ordinati in ordine crescente, quindi codificati delta e memorizzati come codedData. |
riceIndices |
Gli indici di elenco locali codificati, ordinati lessicograficamente, utilizzando una codifica Golomb-Rice. Utilizzato per l'invio di indici di rimozione compressi. Gli indici di rimozione (uint32) vengono ordinati in ordine crescente, quindi vengono codificati delta e memorizzati come codedData. |
RawHashes
Le voci di minacce non compresse in formato hash con un prefisso di lunghezza particolare. Gli hash possono avere una dimensione compresa tra 4 e 32 byte. In gran parte sono di 4 byte, ma alcuni hash vengono allungati se si scontrano con l'hash di un URL popolare.
Utilizzato per inviare ThreatEntrySet a client che non supportano la compressione o per inviare hash non a 4 byte a client che supportano la compressione.
Rappresentazione JSON |
---|
{ "prefixSize": integer, "rawHashes": string } |
Campi | |
---|---|
prefixSize |
Il numero di byte per ogni prefisso codificato di seguito. Questo campo può essere compreso tra 4 (prefisso più breve) e 32 (hash SHA256 completo). |
rawHashes |
Gli hash, in formato binario, concatenati in un'unica stringa lunga. Gli hash sono ordinati in ordine lessicografico. Per gli utenti dell'API JSON, gli hash sono codificati in base64. Una stringa con codifica Base64. |
RawIndices
Un insieme di indici non elaborati da rimuovere da un elenco locale.
Rappresentazione JSON |
---|
{ "indices": [ integer ] } |
Campi | |
---|---|
indices[] |
Gli indici da rimuovere da un elenco locale ordinato lessicograficamente. |
RiceDeltaEncoding
I dati codificati di Rice-Golomb. Utilizzato per l'invio di hash a 4 byte compressi o indici di rimozione compressi.
Rappresentazione JSON |
---|
{ "firstValue": string, "riceParameter": integer, "numEntries": integer, "encodedData": string } |
Campi | |
---|---|
firstValue |
L'offset della prima voce nei dati codificati o, se è stato codificato un solo numero intero, il valore di quel singolo numero intero. Se il campo è vuoto o mancante, supponiamo che sia zero. |
riceParameter |
Il parametro Golomb-Rice, che è un numero compreso tra 2 e 28. Questo campo non è presente (ovvero è zero) se |
numEntries |
Il numero di voci con codifica delta nei dati codificati. Se è stato codificato un solo numero intero, questo sarà pari a zero e il singolo valore verrà archiviato in |
encodedData |
I delta codificati che sono codificati utilizzando il programmatore Golomb-Rice. Una stringa con codifica Base64. |
Checksum
Lo stato previsto del database locale di un client.
Rappresentazione JSON |
---|
{ "sha256": string } |
Campi | |
---|---|
sha256 |
L'hash SHA256 dello stato del client, ovvero dell'elenco ordinato di tutti gli hash presenti nel database. Una stringa con codifica Base64. |