No Storage Real Time Mode

Lorsque les clients choisissent d'utiliser la navigation sécurisée Google v5 en mode temps réel sans stockage, ils n'ont pas besoin de gérer de base de données locale persistante. Toutefois, le client doit toujours conserver un cache local. Ce cache local n'a pas besoin d'être dans un stockage persistant et peut être effacé en cas de pression sur la mémoire.

Chaque fois que le client souhaite vérifier une URL spécifique, il se connecte toujours au serveur pour effectuer une vérification. Ce mode est semblable à celui que les clients de l'API Lookup v4 peuvent implémenter.

Par rapport au mode Temps réel, ce mode peut utiliser plus de bande passante réseau, mais peut être plus adapté si le client ne peut pas maintenir un état local persistant.

Procédure de vérification des URL en temps réel sans base de données locale

Cette procédure prend une seule URL u et renvoie SAFE ou UNSAFE.

  1. Soit expressions une liste d'expressions de suffixe/préfixe générées par l'URL u.
  2. Soit expressionHashes une liste dont les éléments sont les hachages SHA256 de chaque expression dans expressions.
  3. Soit expressionHashPrefixes une liste dont les éléments sont les quatre premiers octets de chaque hachage dans expressionHashes.
  4. Pour chaque expressionHashPrefix de expressionHashPrefixes :
    1. Recherchez expressionHashPrefix dans le cache local.
    2. Si l'entrée en cache est trouvée :
      1. Déterminez si l'heure actuelle est postérieure à l'heure d'expiration.
      2. Si elle est supérieure :
        1. Supprime l'entrée mise en cache trouvée du cache local.
        2. Continuez avec la boucle.
      3. Si elle n'est pas supérieure :
        1. Supprimez ce expressionHashPrefix de expressionHashPrefixes.
        2. Vérifiez si le hachage complet correspondant dans expressionHashes se trouve dans l'entrée mise en cache.
        3. Si elle est trouvée, renvoie UNSAFE.
        4. Si vous ne le trouvez pas, continuez la boucle.
    3. Si l'entrée mise en cache est introuvable, poursuivez la boucle.
  5. Envoyez expressionHashPrefixes au serveur Google Navigation sécurisée v5 à l'aide de RPC SearchHashes ou de la méthode REST hashes.search. Si une erreur s'est produite (y compris des erreurs réseau, des erreurs HTTP, etc.), renvoyez SAFE. Sinon, la réponse est le response reçu du serveur SB, qui est une liste de hachages complets avec des informations auxiliaires identifiant la nature de la menace (ingénierie sociale, logiciel malveillant, etc.), ainsi que le délai d'expiration du cache expiration.
  6. Pour chaque fullHash de response :
    1. Insérez fullHash dans le cache local, ainsi que expiration.
  7. Pour chaque fullHash de response :
    1. Soit isFound le résultat de la recherche de fullHash dans expressionHashes.
    2. Si isFound est défini sur "False", la boucle continue.
    3. Si isFound est "true", renvoie UNSAFE.
  8. Renvoyez SAFE.

Comme pour le mode Temps réel, cette procédure ne précise pas comment envoyer les préfixes de hachage au serveur. Par exemple, le client peut envoyer tous les expressionHashPrefixes dans une seule requête, ou envoyer chaque préfixe individuel dans expressionHashPrefixes au serveur dans des requêtes distinctes (éventuellement en parallèle). Le client peut également envoyer des préfixes de hachage non liés ou générés de manière aléatoire avec les préfixes de hachage dans expressionHashPrefixes, à condition que le nombre de préfixes de hachage envoyés dans une seule requête ne dépasse pas 30.