- 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 viene 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[] |
L'elenco viene aggiornato richiesto dai client. Il numero di risposte qui potrebbe essere inferiore al numero di richieste inviate dai clienti. ad esempio se il server non ha 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 è impostato, i client possono eseguire l'aggiornamento appena vogliono. Una durata in secondi con un massimo di nove cifre frazionarie, terminata da " |
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. |
Limitazioni
I vincoli per questo aggiornamento.
Rappresentazione JSON | |
---|---|
{
"maxUpdateEntries": integer,
"maxDatabaseEntries": integer,
"region": string,
"supportedCompressions": [
enum ( |
Campi | |
---|---|
maxUpdateEntries |
La dimensione massima in 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 il valore è zero, non viene impostato alcun limite di dimensione del database. |
region |
Richiede l'elenco di una località geografica specifica. Se non viene configurato, il server può scegliere questo valore in base all'indirizzo IP dell'utente. È previsto il formato ISO 3166-1 alpha-2. |
supportedCompressions[] |
I tipi di compressione supportati dal client. |
language |
Richiede gli elenchi per una lingua specifica. È previsto il formato ISO 639 alpha-2. |
deviceLocation |
La località fisica di un cliente, espressa come codice regione ISO 31166-1 alpha-2. |
CompressionType
Modalità di compressione degli insiemi di voci di minacce.
Enum | |
---|---|
COMPRESSION_TYPE_UNSPECIFIED |
Sconosciuto. |
RAW |
Dati non elaborati e non compressi. |
RICE |
Dati codificati di Riso-Golomb. |
ListUpdateResponse
Aggiornamento di un singolo elenco.
Rappresentazione JSON | |
---|---|
{ "threatType": enum ( |
Campi | |
---|---|
threatType |
Il tipo di minaccia per il quale 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ò può indicare che il client richiede un'azione alla ricezione della risposta. |
additions[] |
Un insieme di voci da aggiungere all'elenco di un tipo di minaccia locale. Ripetuto per consentire l'invio di una combinazione di dati compressi e dati 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 client in formato criptato. Opaca per i clienti. Una stringa con codifica Base64. |
checksum |
L'hash SHA256 previsto dello stato del client, ovvero 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 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 seriamente obsoleto oppure che si ritiene sia 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 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 con delta e memorizzati come codedData. |
riceIndices |
Gli indici dell'elenco locale codificati in ordine lessicografico, 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 sono codificati con delta e vengono memorizzati come codedData. |
RawHashes
Le voci delle minacce non compresse in formato hash con prefisso di lunghezza specifica. Gli hash possono avere una dimensione compresa tra 4 e 32 byte. La maggioranza è costituita da 4 byte, ma alcuni hash vengono allungati se si scontrano con l'hash di un URL popolare.
Utilizzato per inviare ThreatEntrySet ai client che non supportano la compressione o per inviare hash non di 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 lunga stringa. 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 in ordine lessicografico. |
RiceDeltaEncoding
I dati codificati di Rice-Golomb. Utilizzato per l'invio di hash a 4 byte compressi o di 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, considera il valore 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 con codifica delta nei dati codificati. Se è stato codificato un solo numero intero, il valore sarà zero e il singolo valore verrà archiviato in |
encodedData |
I delta codificati che sono codificati mediante 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. |