Method: threatListUpdates.fetch

يجلب آخر تعديلات قائمة التهديدات. ويمكن للعميل طلب تحديثات لقوائم متعددة في الوقت نفسه.

طلب HTTP

POST https://safebrowsing.googleapis.com/v4/threatListUpdates:fetch

يستخدِم عنوان URL بنية تحويل ترميز gRPC.

نص الطلب

يحتوي نص الطلب على بيانات بالبنية التالية:

تمثيل JSON
{
  "client": {
    object (ClientInfo)
  },
  "listUpdateRequests": [
    {
      object (ListUpdateRequest)
    }
  ]
}
الحقول
client

object (ClientInfo)

البيانات الوصفية للعميل

listUpdateRequests[]

object (ListUpdateRequest)

التعديلات المطلوبة على قائمة التهديدات

نص الاستجابة

إذا كانت الاستجابة ناجحة، سيحتوي نص الاستجابة على بيانات بالبنية التالية:

تمثيل JSON
{
  "listUpdateResponses": [
    {
      object (ListUpdateResponse)
    }
  ],
  "minimumWaitDuration": string
}
الحقول
listUpdateResponses[]

object (ListUpdateResponse)

تعديلات القائمة التي طلبها العملاء. قد يكون عدد الردود هنا أقل من عدد الطلبات التي أرسلها العملاء. هذه هي الحالة، على سبيل المثال، إذا لم تتوفر لدى الخادم أي تحديثات لقائمة معينة.

minimumWaitDuration

string (Duration format)

الحدّ الأدنى للمدة التي يجب أن ينتظرها العميل قبل إصدار أي طلب تعديل. في حال عدم ضبط هذا الحقل، يمكن تحديث البرامج في أي وقت.

مدة بالثواني مؤلفة من تسعة أرقام كسور كحد أقصى، وتم إنهاؤها بـ "s". مثال: "3.5s".

ListUpdateRequest

طلب تعديل قائمة واحدة.

تمثيل JSON
{
  "threatType": enum (ThreatType),
  "platformType": enum (PlatformType),
  "threatEntryType": enum (ThreatEntryType),
  "state": string,
  "constraints": {
    object (Constraints)
  }
}
الحقول
threatType

enum (ThreatType)

تمثّل هذه السمة نوع التهديد الذي تشكّله الإدخالات المُدرَجة في القائمة.

platformType

enum (PlatformType)

تشير هذه السمة إلى نوع المنصة المعرّضة للخطر حسب الإدخالات المُدرَجة في القائمة.

threatEntryType

enum (ThreatEntryType)

تمثّل هذه السمة أنواع الإدخالات المتاحة في القائمة.

state

string (bytes format)

الحالة الحالية للعميل للقائمة المطلوبة (حالة العميل المشفّرة التي تم تلقّيها من آخر تعديل ناجح للقائمة).

سلسلة بترميز base64.

constraints

object (Constraints)

القيود المرتبطة بهذا الطلب.

القيود

القيود لهذا التعديل.

تمثيل JSON
{
  "maxUpdateEntries": integer,
  "maxDatabaseEntries": integer,
  "region": string,
  "supportedCompressions": [
    enum (CompressionType)
  ],
  "language": string,
  "deviceLocation": string
}
الحقول
maxUpdateEntries

integer

الحد الأقصى لحجم الإدخالات. لن يتضمّن التعديل إدخالات أكثر من هذه القيمة. يجب أن تكون هذه القوة 2 بين 2**10 و2**20. وإذا كانت القيمة صفرًا، لن يتم ضبط حدّ أقصى لحجم التحديث.

maxDatabaseEntries

integer

تحدِّد هذه السياسة الحد الأقصى لعدد الإدخالات التي يرغب العميل في امتلاكها في قاعدة البيانات المحلية للقائمة المحدّدة. يجب أن تكون هذه القوة 2 بين 2**10 و2**20. إذا كانت القيمة صفرًا، لن يتم ضبط حد لحجم قاعدة البيانات.

region

string

لطلب القائمة لموقع جغرافي معيّن. وفي حال تم ترك السياسة بدون ضبط، قد يختار الخادم تلك القيمة استنادًا إلى عنوان IP للمستخدم. من المتوقع استخدام تنسيق ISO 3166-1 alpha-2.

supportedCompressions[]

enum (CompressionType)

أنواع الضغط المتوافقة مع البرنامج.

language

string

لطلب القوائم للغة معينة. من المتوقع استخدام تنسيق ISO 639 alpha-2.

deviceLocation

string

الموقع الفعلي للعميل، ويتم التعبير عنه برمز المنطقة ISO 31166-1 alpha-2.

CompressionType

الطرق التي يمكن من خلالها ضغط مجموعات إدخالات التهديد.

عمليات التعداد
COMPRESSION_TYPE_UNSPECIFIED غير معروف.
RAW البيانات الأولية وغير المضغوطة.
RICE بيانات Rice-Golomb المشفرة.

ListUpdateResponse

تعديل على قائمة فردية

تمثيل JSON
{
  "threatType": enum (ThreatType),
  "threatEntryType": enum (ThreatEntryType),
  "platformType": enum (PlatformType),
  "responseType": enum (ResponseType),
  "additions": [
    {
      object (ThreatEntrySet)
    }
  ],
  "removals": [
    {
      object (ThreatEntrySet)
    }
  ],
  "newClientState": string,
  "checksum": {
    object (Checksum)
  }
}
الحقول
threatType

enum (ThreatType)

نوع التهديد الذي يتم عرض البيانات له.

threatEntryType

enum (ThreatEntryType)

تنسيق التهديدات

platformType

enum (PlatformType)

نوع النظام الأساسي الذي يتم إرجاع البيانات له.

responseType

enum (ResponseType)

تمثّل هذه السمة نوع الردّ. وقد يشير ذلك إلى أنّه على العميل اتخاذ إجراء عند تلقّي الردّ.

additions[]

object (ThreatEntrySet)

يشير ذلك المصطلح إلى مجموعة من الإدخالات لإضافتها إلى قائمة نوع تهديد محلي. يتم تكرار هذه الطريقة للسماح بإرسال مجموعة من البيانات المضغوطة والبيانات الأولية في ردّ واحد.

removals[]

object (ThreatEntrySet)

مجموعة من الإدخالات المطلوب إزالتها من قائمة نوع تهديد محلي. من الناحية العملية، هذا الحقل فارغ أو يحتوي على ThreatEntrySet واحد فقط.

newClientState

string (bytes format)

حالة العميل الجديدة، بتنسيق مشفّر. عدم شفافية للعملاء.

سلسلة بترميز base64.

checksum

object (Checksum)

تجزئة SHA256 المتوقّعة لحالة العميل، أي من القائمة المرتَّبة لجميع التجزئات المتوفّرة في قاعدة البيانات بعد تطبيق التحديث المقدَّم. إذا لم تتطابق حالة العميل مع الحالة المتوقَّعة، على العميل تجاهل هذا التعديل وإعادة المحاولة لاحقًا.

ResponseType

نوع الرد الذي تم إرساله إلى العميل.

عمليات التعداد
RESPONSE_TYPE_UNSPECIFIED غير معروف.
PARTIAL_UPDATE ويتم تطبيق التحديثات الجزئية على قاعدة البيانات المحلية الحالية للعميل.
FULL_UPDATE تحل التحديثات الكاملة محل قاعدة بيانات العميل المحلية بالكامل. وهذا يعني أن العميل كان غير حديث على الإطلاق أو يُعتقد أن العميل تالف.

ThreatEntrySet

يشير ذلك المصطلح إلى مجموعة من التهديدات التي يجب إضافتها أو إزالتها من قاعدة البيانات المحلية للعميل.

تمثيل JSON
{
  "compressionType": enum (CompressionType),
  "rawHashes": {
    object (RawHashes)
  },
  "rawIndices": {
    object (RawIndices)
  },
  "riceHashes": {
    object (RiceDeltaEncoding)
  },
  "riceIndices": {
    object (RiceDeltaEncoding)
  }
}
الحقول
compressionType

enum (CompressionType)

تمثّل هذه السمة نوع الضغط للإدخالات في هذه المجموعة.

rawHashes

object (RawHashes)

الإدخالات الأولية بتنسيق SHA256.

rawIndices

object (RawIndices)

مؤشرات الإزالة الأولية لقائمة محلية.

riceHashes

object (RiceDeltaEncoding)

البادئات المكوّنة من 4 بايت والمشفّرة للإدخالات بتنسيق SHA256، باستخدام ترميز Golomb-Rice يتم تحويل التجزئات إلى uint32، ويتم فرزها بترتيب تصاعدي، ثم تشفير دلتا وتخزينها كبيانات مشفَّرة.

riceIndices

object (RiceDeltaEncoding)

فهارس قوائم محلية مُشفّرة، مُرتَّبة بشكل قاموسي، باستخدام ترميز Golomb-Rice. يُستخدم لإرسال فهارس الإزالة المضغوطة. يتم ترتيب فهارس الإزالة (uint32) بترتيب تصاعدي، ثم يتم تشفير دلتا وتخزينها كبيانات مشفَّرة.

RawHashes

هي إدخالات التهديد غير المضغوطة بتنسيق تجزئة بطول بادئة محددة. يمكن أن يتراوح حجم علامات التجزئة بين 4 و32 بايت. وتبلغ معظم التجزئات 4 بايت، لكن تتم إطالة بعض التجزئات إذا تضاربت مع تجزئة عنوان URL مشهور.

يُستخدم لإرسال ThreatEntrySet إلى البرامج التي لا تتيح الضغط، أو عند إرسال تجزئات بدون 4 بايت إلى البرامج التي تتيح الضغط.

تمثيل JSON
{
  "prefixSize": integer,
  "rawHashes": string
}
الحقول
prefixSize

integer

عدد وحدات البايت لكل بادئة مرمَّزة أدناه. يمكن أن يتراوح هذا الحقل بين 4 (بادئة أقصر) و32 (تجزئة SHA256 الكاملة).

rawHashes

string (bytes format)

يتم جمع التجزئات في تنسيق ثنائي في سلسلة واحدة طويلة. يتم ترتيب علامات التجزئة بترتيب معجمي. بالنسبة إلى مستخدمي JSON API، تكون علامات التجزئة بترميز base64.

سلسلة بترميز base64.

RawIndices

مجموعة من الفهارس الأولية لإزالتها من قائمة محلية.

تمثيل JSON
{
  "indices": [
    integer
  ]
}
الحقول
indices[]

integer

الفهارس المطلوب إزالتها من قائمة محلية مُرتَّبة بشكل قاموسي

RiceDeltaEncoding

بيانات Rice-Golomb المشفرة. يُستخدم لإرسال تجزئات مضغوطة بحجم 4 بايت أو فهارس إزالة مضغوطة.

تمثيل JSON
{
  "firstValue": string,
  "riceParameter": integer,
  "numEntries": integer,
  "encodedData": string
}
الحقول
firstValue

string (int64 format)

إزاحة الإدخال الأول في البيانات المشفرة، أو إذا تم تشفير عدد صحيح واحد فقط، قيمة هذا العدد الصحيح الفردي. إذا كان هذا الحقل فارغًا أو غير متوفّر، لنفترض أنّ القيمة صفرًا.

riceParameter

integer

معلمة Golomb-Rice، وهي رقم يتراوح بين 2 و28. هذا الحقل غير متوفّر (أي الصفر) إذا كانت قيمة numEntries صفرًا.

numEntries

integer

عدد الإدخالات التي تم ترميزها دلتا في البيانات المشفرة. إذا تم ترميز عدد صحيح واحد فقط، سيكون الرقم صفرًا وسيتم تخزين القيمة الفردية في firstValue.

encodedData

string (bytes format)

تمثّل هذه السمة قيم دلتا المشفرة التي تم ترميزها باستخدام برنامج ترميز Golomb-Rice.

سلسلة بترميز base64.

المجموع الاختباري

الحالة المتوقعة لقاعدة البيانات المحلية للعميل.

تمثيل JSON
{
  "sha256": string
}
الحقول
sha256

string (bytes format)

تجزئة SHA256 لحالة العميل؛ أي من القائمة المرتبة لجميع التجزئات الموجودة في قاعدة البيانات.

سلسلة بترميز base64.