- Requête HTTP
- Paramètres de requête
- Corps de la requête
- Corps de la réponse
- FullHash
- FullHashDetail
- ThreatAttribute
Recherche les hachages complets correspondant aux préfixes spécifiés.
Il s'agit d'une méthode personnalisée, telle que définie par https://google.aip.dev/136. Elle fait référence à un nom personnalisé qui correspond à la nomenclature générale de Google pour le développement d'API. Elle ne fait pas référence à l'utilisation d'une méthode HTTP personnalisée.
Requête HTTP
GET https://safebrowsing.googleapis.com/v5alpha1/hashes:search
L'URL utilise la syntaxe de transcodage gRPC.
Paramètres de requête
Paramètres | |
---|---|
hashPrefixes[] |
Obligatoire. Préfixes de hachage à rechercher. Les clients NE DOIVENT PAS envoyer plus de 1 000 préfixes de hachage. Toutefois, suivant la procédure de traitement des URL, les clients NE DOIVENT PAS envoyer plus de 30 préfixes de hachage. Actuellement, chaque préfixe de hachage doit comporter exactement 4 octets. Cette option PEUT être assouplie à l'avenir. Chaîne encodée en base64. |
filter |
Facultatif. Si le client souhaite effectuer des filtres, par exemple pour ne récupérer que certains types de menaces, vous pouvez le spécifier. Si cette valeur est omise, toutes les menaces correspondantes sont renvoyées. Nous vous recommandons vivement d'omettre cette étape afin d'obtenir la protection la plus complète possible par la navigation sécurisée. Le filtre est spécifié à l'aide du langage Google Common Expression Language, disponible à l'adresse https://github.com/google/cel-spec et où sont accompagnés d'exemples généraux. Voici quelques exemples spécifiques qui peuvent être utilisés ici: Le filtre Le filtre |
Corps de la requête
Le corps de la requête doit être vide.
Corps de la réponse
Réponse affichée après la recherche de hachages de menaces.
Si rien n'est trouvé, le serveur renvoie un état OK (code d'état HTTP 200) avec le champ fullHashes
vide, au lieu de renvoyer un état NOT_FOUND (code d'état HTTP 404).
Nouveautés de la version 5: il existe une séparation entre FullHash
et FullHashDetail
. Dans le cas où un hachage représente un site présentant de multiples menaces (par exemple, MALWARE et SOCIAL_ENGINEERING), il n'est pas nécessaire d'envoyer le hachage complet deux fois, contrairement à la version 4. De plus, la durée du cache a été simplifiée dans un seul champ cacheDuration
.
Si la requête aboutit, le corps de la réponse contient des données qui ont la structure suivante :
Représentation JSON |
---|
{
"fullHashes": [
{
object ( |
Champs | |
---|---|
fullHashes[] |
Liste à puces. Liste non triée des hachages complets trouvée. |
cacheDuration |
Durée du cache côté client. Le client DOIT ajouter cette durée à l'heure actuelle pour déterminer le délai d'expiration. Le délai d'expiration s'applique ensuite à chaque préfixe de hachage interrogé par le client dans la requête, quel que soit le nombre de hachages complets renvoyés dans la réponse. Même si le serveur ne renvoie pas de hachage complet pour un préfixe de hachage particulier, ce fait DOIT également être mis en cache par le client. Si et seulement si le champ Important: le client NE DOIT PAS supposer que le serveur renverra la même durée de mise en cache pour toutes les réponses. Le serveur PEUT choisir des durées de mise en cache différentes pour différentes réponses en fonction de la situation. Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par " |
FullHash
Hachage complet identifié par une ou plusieurs correspondances.
Représentation JSON |
---|
{
"fullHash": string,
"fullHashDetails": [
{
object ( |
Champs | |
---|---|
fullHash |
Hachage complet correspondant Il s'agit du hachage SHA256. La longueur sera exactement de 32 octets. Chaîne encodée en base64. |
fullHashDetails[] |
Liste à puces. Champ répété identifiant les détails pertinents pour ce hachage complet. |
FullHashDetail
Détails sur un hachage complet correspondant.
Remarque importante concernant la compatibilité ascendante: le serveur peut ajouter de nouveaux types et attributs de menaces à tout moment. Ces ajouts sont considérés comme des modifications de version mineures. Google s'engage à ne pas exposer les numéros de version mineure dans les API (voir https://cloud.google.com/apis/design/versioning pour connaître les règles de gestion des versions). Par conséquent, les clients DOIVENT être prêts à recevoir des messages FullHashDetail
contenant des valeurs d'énumération ThreatType
ou ThreatAttribute
considérées comme non valides par le client. Par conséquent, il est de la responsabilité du client de vérifier la validité de toutes les valeurs d'énumération ThreatType
et ThreatAttribute
. Si une valeur est considérée comme non valide, le client DOIT ignorer l'intégralité du message FullHashDetail
.
Représentation JSON |
---|
{ "threatType": enum ( |
Champs | |
---|---|
threatType |
Type de menace. Ce champ ne sera jamais vide. |
attributes[] |
Liste à puces. Attributs supplémentaires concernant ces hachages complets. Ce champ peut être vide. |
ThreatAttribute
Attributs des menaces. Ces attributs peuvent conférer une signification supplémentaire à une menace spécifique, mais n’affecteront pas le type de menace. Par exemple, un attribut peut indiquer un niveau de confiance inférieur, tandis qu'un autre peut indiquer un niveau de confiance plus élevé. D'autres attributs seront peut-être ajoutés ultérieurement.
Enums | |
---|---|
THREAT_ATTRIBUTE_UNSPECIFIED |
Attribut inconnu. Si le serveur renvoie cette valeur, le client ne doit pas tenir compte de la FullHashDetail qui l'englobe. |
CANARY |
Indique que le type de menace ne doit pas être utilisé pour l'application. |
FRAME_ONLY |
Indique que le type de menace ne doit être utilisé que pour l'application sur des frames. |