- 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 di 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 è 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 clienti. Il numero di risposte qui potrebbe essere inferiore al numero di richieste inviate dai client. Questo è il caso, ad esempio, se il server non ha aggiornamenti per un determinato elenco. |
minimumWaitDuration |
La durata minima che il client deve attendere prima di inviare una richiesta di aggiornamento. Se questo campo non viene impostato, i clienti possono eseguire l'aggiornamento all'occorrenza. Durata in secondi con un massimo di nove cifre frazionarie e 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 per le 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 in termini di 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 di aggiornamento. |
maxDatabaseEntries |
Imposta il numero massimo di voci che il client vuole avere nel database locale per l'elenco specificato. Deve essere una potenza di 2 compresa tra 2**10 e 2**20. Se il valore è zero, non viene impostato alcun limite di dimensione del database. |
region |
Consente di richiedere l'elenco per una posizione geografica specifica. Se non viene configurato, il server potrebbe scegliere quel valore in base all'indirizzo IP dell'utente. Prevede il formato ISO 3166-1 alpha-2. |
supportedCompressions[] |
I tipi di compressione supportati dal client. |
language |
Consente di richiedere gli elenchi per una lingua specifica. Prevede il formato ISO 639 alpha-2. |
deviceLocation |
La località fisica di un cliente, espressa come codice regione ISO 31166-1 alpha-2. |
CompressionType
I modi in cui è possibile comprimere gli insiemi di voci di minacce.
Enum | |
---|---|
COMPRESSION_TYPE_UNSPECIFIED |
Sconosciuto. |
RAW |
Dati non elaborati e non compressi. |
RICE |
Dati codificati in Rice-Golomb. |
ListUpdateResponse
Un aggiornamento a 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 cui vengono restituiti i dati. |
responseType |
Il tipo di risposta. Ciò potrebbe 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. Ripetito per consentire l'invio di una combinazione di dati compressi e non elaborati in una singola 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. cioè dell'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 in un secondo momento. |
ResponseType
Il tipo di risposta inviata 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 client era gravemente obsoleto o che si ritiene che sia danneggiato. |
ThreatEntrySet
Insieme di minacce che devono essere aggiunte o rimosse dal database locale di un client.
Rappresentazione JSON |
---|
{ "compressionType": enum ( |
Campi | |
---|---|
compressionType |
Il tipo di compressione per le voci in questo set. |
rawHashes |
Le voci non elaborate in formato SHA256. |
rawIndices |
Gli indici di rimozione non elaborati per un elenco locale. |
riceHashes |
I prefissi a 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 archiviati come codedData. |
riceIndices |
Gli indici di elenco locali codificati, ordinati in ordine didattico, utilizzando una codifica Golomb-Rice. Utilizzato per inviare indici di rimozione compressi. Gli indici di rimozione (uint32) vengono ordinati in ordine crescente, quindi sono codificati delta e memorizzati come codedData. |
RawHashes
Le voci di minaccia non compresse in formato hash con una lunghezza di prefisso specifica. Le dimensioni degli hash possono variare da 4 a 32 byte. In gran parte sono 4 byte, ma alcuni hash vengono allungati se entrano in conflitto con l'hash di un URL popolare.
Utilizzato per l'invio di ThreatEntrySet ai client che non supportano la compressione o per l'invio di hash non a 4 byte ai 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 qualsiasi numero compreso tra 4 (prefisso più breve) e 32 (hash SHA256 completo). |
rawHashes |
Gli hash, in formato binario, sono concatenati in una lunga stringa. Gli hash vengono 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 classificato lessicograficamente. |
RiceDeltaEncoding
I dati codificati di Rice-Golomb. Utilizzato per inviare 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 il valore sia zero. |
riceParameter |
Il parametro Golomb-Rice, che è un numero compreso tra 2 e 28. Questo campo non è presente (ossia zero) se |
numEntries |
Il numero di voci codificate delta nei dati codificati. Se è stato codificato un solo numero intero, il valore sarà zero e il singolo valore verrà memorizzato in |
encodedData |
I delta codificati che vengono 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; cioè dell'elenco ordinato di tutti gli hash presenti nel database. Una stringa con codifica base64. |