- طلب HTTP
- نص الطلب
- نص الاستجابة
- ListUpdateRequest
- القيود
- CompressionType
- ListUpdateResponse
- ResponseType
- ThreatEntrySet
- RawHashes
- RawIndices
- RiceDeltaEncoding
- المجموع الاختباري
يجلب آخر تعديلات قائمة التهديدات. ويمكن للعميل طلب تحديثات لقوائم متعددة في الوقت نفسه.
طلب HTTP
POST https://safebrowsing.googleapis.com/v4/threatListUpdates:fetch
يستخدِم عنوان URL بنية تحويل ترميز gRPC.
نص الطلب
يحتوي نص الطلب على بيانات بالبنية التالية:
تمثيل JSON | |
---|---|
{ "client": { object ( |
الحقول | |
---|---|
client |
البيانات الوصفية للعميل |
listUpdateRequests[] |
التعديلات المطلوبة على قائمة التهديدات |
نص الاستجابة
إذا كانت الاستجابة ناجحة، سيحتوي نص الاستجابة على بيانات بالبنية التالية:
تمثيل JSON | |
---|---|
{
"listUpdateResponses": [
{
object ( |
الحقول | |
---|---|
listUpdateResponses[] |
تعديلات القائمة التي طلبها العملاء. قد يكون عدد الردود هنا أقل من عدد الطلبات التي أرسلها العملاء. هذه هي الحالة، على سبيل المثال، إذا لم تتوفر لدى الخادم أي تحديثات لقائمة معينة. |
minimumWaitDuration |
الحدّ الأدنى للمدة التي يجب أن ينتظرها العميل قبل إصدار أي طلب تعديل. في حال عدم ضبط هذا الحقل، يمكن تحديث البرامج في أي وقت. مدة بالثواني مؤلفة من تسعة أرقام كسور كحد أقصى، وتم إنهاؤها بـ " |
ListUpdateRequest
طلب تعديل قائمة واحدة.
تمثيل JSON | |
---|---|
{ "threatType": enum ( |
الحقول | |
---|---|
threatType |
تمثّل هذه السمة نوع التهديد الذي تشكّله الإدخالات المُدرَجة في القائمة. |
platformType |
تشير هذه السمة إلى نوع المنصة المعرّضة للخطر حسب الإدخالات المُدرَجة في القائمة. |
threatEntryType |
تمثّل هذه السمة أنواع الإدخالات المتاحة في القائمة. |
state |
الحالة الحالية للعميل للقائمة المطلوبة (حالة العميل المشفّرة التي تم تلقّيها من آخر تعديل ناجح للقائمة). سلسلة بترميز base64. |
constraints |
القيود المرتبطة بهذا الطلب. |
القيود
القيود لهذا التعديل.
تمثيل JSON | |
---|---|
{
"maxUpdateEntries": integer,
"maxDatabaseEntries": integer,
"region": string,
"supportedCompressions": [
enum ( |
الحقول | |
---|---|
maxUpdateEntries |
الحد الأقصى لحجم الإدخالات. لن يتضمّن التعديل إدخالات أكثر من هذه القيمة. يجب أن تكون هذه القوة 2 بين 2**10 و2**20. وإذا كانت القيمة صفرًا، لن يتم ضبط حدّ أقصى لحجم التحديث. |
maxDatabaseEntries |
تحدِّد هذه السياسة الحد الأقصى لعدد الإدخالات التي يرغب العميل في امتلاكها في قاعدة البيانات المحلية للقائمة المحدّدة. يجب أن تكون هذه القوة 2 بين 2**10 و2**20. إذا كانت القيمة صفرًا، لن يتم ضبط حد لحجم قاعدة البيانات. |
region |
لطلب القائمة لموقع جغرافي معيّن. وفي حال تم ترك السياسة بدون ضبط، قد يختار الخادم تلك القيمة استنادًا إلى عنوان IP للمستخدم. من المتوقع استخدام تنسيق ISO 3166-1 alpha-2. |
supportedCompressions[] |
أنواع الضغط المتوافقة مع البرنامج. |
language |
لطلب القوائم للغة معينة. من المتوقع استخدام تنسيق ISO 639 alpha-2. |
deviceLocation |
الموقع الفعلي للعميل، ويتم التعبير عنه برمز المنطقة ISO 31166-1 alpha-2. |
CompressionType
الطرق التي يمكن من خلالها ضغط مجموعات إدخالات التهديد.
عمليات التعداد | |
---|---|
COMPRESSION_TYPE_UNSPECIFIED |
غير معروف. |
RAW |
البيانات الأولية وغير المضغوطة. |
RICE |
بيانات Rice-Golomb المشفرة. |
ListUpdateResponse
تعديل على قائمة فردية
تمثيل JSON | |
---|---|
{ "threatType": enum ( |
الحقول | |
---|---|
threatType |
نوع التهديد الذي يتم عرض البيانات له. |
threatEntryType |
تنسيق التهديدات |
platformType |
نوع النظام الأساسي الذي يتم إرجاع البيانات له. |
responseType |
تمثّل هذه السمة نوع الردّ. وقد يشير ذلك إلى أنّه على العميل اتخاذ إجراء عند تلقّي الردّ. |
additions[] |
يشير ذلك المصطلح إلى مجموعة من الإدخالات لإضافتها إلى قائمة نوع تهديد محلي. يتم تكرار هذه الطريقة للسماح بإرسال مجموعة من البيانات المضغوطة والبيانات الأولية في ردّ واحد. |
removals[] |
مجموعة من الإدخالات المطلوب إزالتها من قائمة نوع تهديد محلي. من الناحية العملية، هذا الحقل فارغ أو يحتوي على ThreatEntrySet واحد فقط. |
newClientState |
حالة العميل الجديدة، بتنسيق مشفّر. عدم شفافية للعملاء. سلسلة بترميز base64. |
checksum |
تجزئة SHA256 المتوقّعة لحالة العميل، أي من القائمة المرتَّبة لجميع التجزئات المتوفّرة في قاعدة البيانات بعد تطبيق التحديث المقدَّم. إذا لم تتطابق حالة العميل مع الحالة المتوقَّعة، على العميل تجاهل هذا التعديل وإعادة المحاولة لاحقًا. |
ResponseType
نوع الرد الذي تم إرساله إلى العميل.
عمليات التعداد | |
---|---|
RESPONSE_TYPE_UNSPECIFIED |
غير معروف. |
PARTIAL_UPDATE |
ويتم تطبيق التحديثات الجزئية على قاعدة البيانات المحلية الحالية للعميل. |
FULL_UPDATE |
تحل التحديثات الكاملة محل قاعدة بيانات العميل المحلية بالكامل. وهذا يعني أن العميل كان غير حديث على الإطلاق أو يُعتقد أن العميل تالف. |
ThreatEntrySet
يشير ذلك المصطلح إلى مجموعة من التهديدات التي يجب إضافتها أو إزالتها من قاعدة البيانات المحلية للعميل.
تمثيل JSON | |
---|---|
{ "compressionType": enum ( |
الحقول | |
---|---|
compressionType |
تمثّل هذه السمة نوع الضغط للإدخالات في هذه المجموعة. |
rawHashes |
الإدخالات الأولية بتنسيق SHA256. |
rawIndices |
مؤشرات الإزالة الأولية لقائمة محلية. |
riceHashes |
البادئات المكوّنة من 4 بايت والمشفّرة للإدخالات بتنسيق SHA256، باستخدام ترميز Golomb-Rice يتم تحويل التجزئات إلى uint32، ويتم فرزها بترتيب تصاعدي، ثم تشفير دلتا وتخزينها كبيانات مشفَّرة. |
riceIndices |
فهارس قوائم محلية مُشفّرة، مُرتَّبة بشكل قاموسي، باستخدام ترميز Golomb-Rice. يُستخدم لإرسال فهارس الإزالة المضغوطة. يتم ترتيب فهارس الإزالة (uint32) بترتيب تصاعدي، ثم يتم تشفير دلتا وتخزينها كبيانات مشفَّرة. |
RawHashes
هي إدخالات التهديد غير المضغوطة بتنسيق تجزئة بطول بادئة محددة. يمكن أن يتراوح حجم علامات التجزئة بين 4 و32 بايت. وتبلغ معظم التجزئات 4 بايت، لكن تتم إطالة بعض التجزئات إذا تضاربت مع تجزئة عنوان URL مشهور.
يُستخدم لإرسال ThreatEntrySet إلى البرامج التي لا تتيح الضغط، أو عند إرسال تجزئات بدون 4 بايت إلى البرامج التي تتيح الضغط.
تمثيل JSON | |
---|---|
{ "prefixSize": integer, "rawHashes": string } |
الحقول | |
---|---|
prefixSize |
عدد وحدات البايت لكل بادئة مرمَّزة أدناه. يمكن أن يتراوح هذا الحقل بين 4 (بادئة أقصر) و32 (تجزئة SHA256 الكاملة). |
rawHashes |
يتم جمع التجزئات في تنسيق ثنائي في سلسلة واحدة طويلة. يتم ترتيب علامات التجزئة بترتيب معجمي. بالنسبة إلى مستخدمي JSON API، تكون علامات التجزئة بترميز base64. سلسلة بترميز base64. |
RawIndices
مجموعة من الفهارس الأولية لإزالتها من قائمة محلية.
تمثيل JSON | |
---|---|
{ "indices": [ integer ] } |
الحقول | |
---|---|
indices[] |
الفهارس المطلوب إزالتها من قائمة محلية مُرتَّبة بشكل قاموسي |
RiceDeltaEncoding
بيانات Rice-Golomb المشفرة. يُستخدم لإرسال تجزئات مضغوطة بحجم 4 بايت أو فهارس إزالة مضغوطة.
تمثيل JSON | |
---|---|
{ "firstValue": string, "riceParameter": integer, "numEntries": integer, "encodedData": string } |
الحقول | |
---|---|
firstValue |
إزاحة الإدخال الأول في البيانات المشفرة، أو إذا تم تشفير عدد صحيح واحد فقط، قيمة هذا العدد الصحيح الفردي. إذا كان هذا الحقل فارغًا أو غير متوفّر، لنفترض أنّ القيمة صفرًا. |
riceParameter |
معلمة Golomb-Rice، وهي رقم يتراوح بين 2 و28. هذا الحقل غير متوفّر (أي الصفر) إذا كانت قيمة |
numEntries |
عدد الإدخالات التي تم ترميزها دلتا في البيانات المشفرة. إذا تم ترميز عدد صحيح واحد فقط، سيكون الرقم صفرًا وسيتم تخزين القيمة الفردية في |
encodedData |
تمثّل هذه السمة قيم دلتا المشفرة التي تم ترميزها باستخدام برنامج ترميز Golomb-Rice. سلسلة بترميز base64. |
المجموع الاختباري
الحالة المتوقعة لقاعدة البيانات المحلية للعميل.
تمثيل JSON | |
---|---|
{ "sha256": string } |
الحقول | |
---|---|
sha256 |
تجزئة SHA256 لحالة العميل؛ أي من القائمة المرتبة لجميع التجزئات الموجودة في قاعدة البيانات. سلسلة بترميز base64. |