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، وترتيبها تصاعديًا، ثم تشفير دلتا وتخزينها كملف EncryptData.

riceIndices

object (RiceDeltaEncoding)

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

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.