Jika klien memilih untuk menggunakan Google Safe Browsing v5 dalam mode ini, perilaku klien akan mirip dengan Update API v4, kecuali menggunakan permukaan API v5 yang lebih baik. Klien akan menyimpan sekumpulan daftar ancaman dalam database lokalnya yang diformat sebagai awalan hash SHA256 dari ekspresi URL host-suffix/path-prefix. Setiap kali klien ingin memeriksa URL tertentu, pemeriksaan dilakukan menggunakan daftar ancaman lokal. Jika dan hanya jika ada kecocokan, klien akan terhubung ke server untuk melanjutkan pemeriksaan.
Seperti di atas, klien juga akan mempertahankan cache lokal yang tidak perlu berada di penyimpanan persisten.
Prosedur Pemeriksaan URL Daftar Ancaman Lokal
Prosedur ini juga dilakukan saat klien menggunakan prosedur Mode Real-Time dan menampilkan nilai UNSURE.
Prosedur ini menggunakan satu URL u dan menampilkan SAFE atau UNSAFE.
- Misalkan
expressionsadalah daftar ekspresi akhiran/awalan yang dihasilkan oleh URLu. - Misalkan
expressionHashesadalah daftar, dengan elemen berupa hash SHA256 dari setiap ekspresi diexpressions. - Misalkan
expressionHashPrefixesadalah daftar, dengan elemen berupa 4 byte pertama setiap hash diexpressionHashes. - Untuk setiap
expressionHashPrefixdariexpressionHashPrefixes:- Cari
expressionHashPrefixdi cache lokal. - Jika entri yang di-cache ditemukan:
- Menentukan apakah waktu saat ini lebih besar daripada waktu habis masa berlakunya.
- Jika lebih besar:
- Menghapus entri yang ditemukan dan di-cache dari cache lokal.
- Lanjutkan dengan loop.
- Jika tidak lebih besar:
- Menghapus
expressionHashPrefixtertentu ini dariexpressionHashPrefixes. - Periksa apakah hash lengkap yang sesuai dalam
expressionHashesditemukan dalam entri yang di-cache. - Jika ditemukan, tampilkan
UNSAFE. - Jika tidak ditemukan, lanjutkan dengan loop.
- Menghapus
- Jika entri yang di-cache tidak ditemukan, lanjutkan dengan loop.
- Cari
- Untuk setiap
expressionHashPrefixdariexpressionHashPrefixes:- Cari
expressionHashPrefixdi database daftar ancaman lokal. - Jika
expressionHashPrefixtidak dapat ditemukan dalam database daftar ancaman lokal, hapus dariexpressionHashPrefixes.
- Cari
- Kirim
expressionHashPrefixeske server Google Safe Browsing v5 menggunakan RPC SearchHashes atau metode REST hashes.search. Jika terjadi error (termasuk error jaringan, error HTTP, dll.), tampilkanSAFE. Jika tidak, biarkan respons menjadiresponseyang diterima dari server SB, yang merupakan daftar hash lengkap beserta beberapa informasi tambahan yang mengidentifikasi sifat ancaman (rekayasa sosial, malware, dll.), serta waktu habis masa berlaku cacheexpiration. - Untuk setiap
fullHashdariresponse:- Sisipkan
fullHashke dalam cache lokal, bersama denganexpiration.
- Sisipkan
- Untuk setiap
fullHashdariresponse:- Biarkan
isFoundmenjadi hasil dari menemukanfullHashdiexpressionHashes. - Jika
isFoundadalah False, lanjutkan dengan loop. - Jika
isFoundadalah Benar (True), tampilkanUNSAFE.
- Biarkan
- Kembalikan
SAFE.