เมื่อไคลเอ็นต์เลือกใช้ Google Safe Browsing v5 ในโหมดนี้ ลักษณะการทำงานของไคลเอ็นต์จะคล้ายกับ Update API v4 ยกเว้นการใช้พื้นผิว API ที่ได้รับการปรับปรุงของ v5 ไคลเอ็นต์จะเก็บชุดรายการภัยคุกคามที่จัดรูปแบบเป็นคำนำหน้าแฮช SHA256 ของนิพจน์ URL ของคำต่อท้ายโฮสต์/คำนำหน้าเส้นทางไว้ในฐานข้อมูลภายใน เมื่อใดก็ตามที่ไคลเอ็นต์ต้องการตรวจสอบ URL ที่เฉพาะเจาะจง ระบบจะทำการตรวจสอบโดยใช้รายการภัยคุกคามในเครื่อง หากมีรายการที่ตรงกันเท่านั้น ไคลเอ็นต์จะเชื่อมต่อกับเซิร์ฟเวอร์เพื่อตรวจสอบต่อ
เช่นเดียวกับด้านบน ไคลเอ็นต์จะดูแลแคชในเครื่องซึ่งไม่จำเป็นต้องอยู่ในพื้นที่เก็บข้อมูลถาวร
ขั้นตอนการตรวจสอบ URL ในรายการภัยคุกคามในเครื่อง
นอกจากนี้ ยังมีการดำเนินการตามขั้นตอนนี้เมื่อไคลเอ็นต์ใช้ขั้นตอนโหมดเรียลไทม์และส่งคืนค่า UNSURE
ขั้นตอนนี้จะใช้ URL เดียว u และแสดงผล SAFE หรือ UNSAFE
- ให้
expressionsเป็นรายการนิพจน์คำต่อท้าย/คำนำหน้าที่สร้างโดย URLu - ให้
expressionHashesเป็นรายการที่องค์ประกอบเป็นแฮช SHA256 ของแต่ละนิพจน์ในexpressions - ให้
expressionHashPrefixesเป็นรายการที่องค์ประกอบคือ 4 ไบต์แรกของแต่ละแฮชในexpressionHashes - สำหรับแต่ละ
expressionHashPrefixของexpressionHashPrefixesให้ทำดังนี้- ค้นหา
expressionHashPrefixในแคชในเครื่อง - หากพบรายการที่แคชไว้ ให้ทำดังนี้
- พิจารณาว่าเวลาปัจจุบันมากกว่าเวลาหมดอายุหรือไม่
- หากมากกว่า ให้ทำดังนี้
- นำรายการที่แคชที่พบออกจากแคชในเครื่อง
- เล่นลูปต่อ
- หากไม่มากกว่า ให้ทำดังนี้
- นำ
expressionHashPrefixนี้ออกจากexpressionHashPrefixes - ตรวจสอบว่าพบแฮชแบบเต็มที่เกี่ยวข้องภายใน
expressionHashesในรายการที่แคชไว้หรือไม่ - หากพบ ให้ส่งคืน
UNSAFE - หากไม่พบ ให้ดำเนินการต่อในลูป
- นำ
- หากไม่พบรายการที่แคชไว้ ให้ดำเนินการต่อในลูป
- ค้นหา
- สำหรับแต่ละ
expressionHashPrefixของexpressionHashPrefixesให้ทำดังนี้- ค้นหา
expressionHashPrefixในฐานข้อมูลรายการภัยคุกคามในเครื่อง - หากไม่พบ
expressionHashPrefixในฐานข้อมูลรายการภัยคุกคามในเครื่อง ให้นำออกจากexpressionHashPrefixes
- ค้นหา
- ส่ง
expressionHashPrefixesไปยังเซิร์ฟเวอร์ Google Safe Browsing v5 โดยใช้ RPC SearchHashes หรือเมธอด REST hashes.search หากเกิดข้อผิดพลาด (รวมถึงข้อผิดพลาดเกี่ยวกับเครือข่าย ข้อผิดพลาด HTTP ฯลฯ) ให้แสดงผลSAFEไม่เช่นนั้น ให้การตอบกลับเป็นresponseที่ได้รับจากเซิร์ฟเวอร์ SB ซึ่งเป็นรายการแฮชแบบเต็มพร้อมกับข้อมูลเสริมบางอย่างที่ระบุลักษณะของภัยคุกคาม (วิศวกรรมสังคม มัลแวร์ ฯลฯ) รวมถึงเวลาหมดอายุของแคชexpiration - สำหรับแต่ละ
fullHashของresponseให้ทำดังนี้- แทรก
fullHashลงในแคชในเครื่องพร้อมกับexpiration
- แทรก
- สำหรับแต่ละ
fullHashของresponseให้ทำดังนี้- ให้
isFoundเป็นผลลัพธ์ของการค้นหาfullHashในexpressionHashes - หาก
isFoundเป็น False ให้ดำเนินการต่อในลูป - หาก
isFoundเป็นจริง ให้แสดงผลUNSAFE
- ให้
- กลับ
SAFE