Local List Mode

Khi chọn sử dụng Google Safe Browsing phiên bản 5 ở chế độ này, hành vi của ứng dụng sẽ tương tự như Update API phiên bản 4, ngoại trừ việc sử dụng giao diện API được cải thiện của phiên bản 5. Các ứng dụng sẽ duy trì một tập hợp danh sách mối đe doạ được định dạng dưới dạng tiền tố hàm băm SHA256 của biểu thức URL hậu tố máy chủ/tiền tố đường dẫn trong cơ sở dữ liệu cục bộ. Bất cứ khi nào máy khách muốn kiểm tra một URL cụ thể, quá trình kiểm tra sẽ được thực hiện bằng danh sách mối đe doạ cục bộ. Nếu và chỉ khi có kết quả khớp, ứng dụng sẽ kết nối với máy chủ để tiếp tục kiểm tra.

Tương tự như trên, ứng dụng cũng sẽ duy trì một bộ nhớ đệm cục bộ không cần phải nằm trong bộ nhớ liên tục.

Quy trình kiểm tra URL trong Danh sách mối đe doạ cục bộ

Quy trình này cũng được thực hiện khi ứng dụng đang sử dụng quy trình Chế độ theo thời gian thực và trả về giá trị UNSURE.

Quy trình này lấy một URL duy nhất u và trả về SAFE hoặc UNSAFE.

  1. Giả sử expressions là danh sách các biểu thức hậu tố/tiền tố do URL u tạo ra.
  2. Giả sử expressionHashes là một danh sách, trong đó các phần tử là hàm băm SHA256 của từng biểu thức trong expressions.
  3. Giả sử expressionHashPrefixes là một danh sách, trong đó các phần tử là 4 byte đầu tiên của mỗi hàm băm trong expressionHashes.
  4. Đối với mỗi expressionHashPrefix trong số expressionHashPrefixes:
    1. Tìm expressionHashPrefix trong bộ nhớ đệm cục bộ.
    2. Nếu tìm thấy mục trong bộ nhớ đệm:
      1. Xác định xem thời gian hiện tại có lớn hơn thời gian hết hạn hay không.
      2. Nếu lớn hơn:
        1. Xoá mục được lưu vào bộ nhớ đệm đã tìm thấy khỏi bộ nhớ đệm cục bộ.
        2. Tiếp tục vòng lặp.
      3. Nếu không lớn hơn:
        1. Xoá expressionHashPrefix này khỏi expressionHashPrefixes.
        2. Kiểm tra xem hàm băm đầy đủ tương ứng trong expressionHashes có nằm trong mục nhập được lưu vào bộ nhớ đệm hay không.
        3. Nếu tìm thấy, hãy trả về UNSAFE.
        4. Nếu không tìm thấy, hãy tiếp tục vòng lặp.
    3. Nếu không tìm thấy mục trong bộ nhớ đệm, hãy tiếp tục vòng lặp.
  5. Đối với mỗi expressionHashPrefix trong số expressionHashPrefixes:
    1. Tra cứu expressionHashPrefix trong cơ sở dữ liệu danh sách mối đe doạ cục bộ.
    2. Nếu không tìm thấy expressionHashPrefix trong cơ sở dữ liệu danh sách mối đe doạ cục bộ, hãy xoá expressionHashPrefix khỏi expressionHashPrefixes.
  6. Gửi expressionHashPrefixes đến máy chủ Duyệt web an toàn của Google phiên bản 5 bằng cách sử dụng RPC SearchHashes hoặc phương thức REST hashes.search. Nếu xảy ra lỗi (bao gồm cả lỗi mạng, lỗi HTTP, v.v.), hãy trả về SAFE. Nếu không, hãy để phản hồi là response nhận được từ máy chủ SB. Đây là danh sách các hàm băm đầy đủ cùng với một số thông tin phụ trợ xác định bản chất của mối đe doạ (kỹ thuật xã hội, phần mềm độc hại, v.v.), cũng như thời gian hết hạn của bộ nhớ đệm expiration.
  7. Đối với mỗi fullHash trong số response:
    1. Chèn fullHash vào bộ nhớ đệm cục bộ, cùng với expiration.
  8. Đối với mỗi fullHash trong số response:
    1. Giả sử isFound là kết quả của việc tìm fullHash trong expressionHashes.
    2. Nếu isFound là False, hãy tiếp tục vòng lặp.
    3. Nếu isFound là True, hãy trả về UNSAFE.
  9. Trả lại SAFE.