- طلب HTTP
- نص الطلب
- نص الاستجابة
- ListUpdateRequest
- القيود
- الضغط
- ListUpdateResponse
- ResponseType
- ThreatEntrySet
- عمليات التجزئة الأولية
- المؤشرات الأولية
- RiceDeltaEncoding
- المجموع الاختباري
لجلب آخر تحديثات قائمة التهديدات. يمكن للعميل طلب إجراء تعديلات لقوائم متعددة في الوقت نفسه.
طلب HTTP
POST https://safebrowsing.googleapis.com/v4/threatListUpdates:fetch
يستخدم عنوان URL بنية تحويل ترميز gRPC.
نص الطلب
يحتوي نص الطلب على بيانات بالبنية التالية:
تمثيل JSON | |
---|---|
{ "client": { object ( |
الحقول | |
---|---|
client |
البيانات الوصفية للعميل |
listUpdateRequests[] |
يتم تعديل قائمة التهديدات المطلوبة. |
نص الاستجابة
إذا كانت الاستجابة ناجحة، سيحتوي نص الاستجابة على بيانات بالبنية التالية:
تمثيل JSON | |
---|---|
{
"listUpdateResponses": [
{
object ( |
الحقول | |
---|---|
listUpdateResponses[] |
تحديثات القائمة التي طلبها العملاء. قد يكون عدد الردود هنا أقل من عدد الطلبات التي يرسلها العملاء. في هذه الحالة، على سبيل المثال، إذا لم يكن لدى الخادم أي تحديثات لقائمة معينة. |
minimumWaitDuration |
الحد الأدنى للمدة التي يجب أن ينتظرها العميل قبل إصدار أي طلب تحديث. إذا لم يتم ضبط هذا الحقل، قد يتم تعديل البرامج في أقرب وقت ممكن. عبارة عن مدة بالثواني تحتوي على ما يصل إلى تسعة أرقام كسرية، ويتم إنهاؤها بـ " |
طلب تحديث القائمة
طلب تحديث قائمة واحدة.
تمثيل 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. |
نوع الضغط
يمكن ضغط الطرق التي يتم فيها ضغط مجموعات التهديد.
عمليات التعداد | |
---|---|
COMPRESSION_TYPE_UNSPECIFIED |
غير معروف. |
RAW |
البيانات الأولية وغير المضغوطة. |
RICE |
البيانات المشفرة بالأرز-الغولب. |
ListUpdateResponse
تعديل على قائمة فردية
تمثيل JSON | |
---|---|
{ "threatType": enum ( |
الحقول | |
---|---|
threatType |
نوع التهديد الذي يتم عرض البيانات المتعلقة به. |
threatEntryType |
شكل التهديدات. |
platformType |
نوع النظام الأساسي الذي يتم عرض البيانات له. |
responseType |
نوع الرد. قد يشير هذا إلى أنه يجب على العميل اتخاذ إجراء عند تلقي الاستجابة. |
additions[] |
مجموعة من الإدخالات لإضافتها إلى قائمة نوع التهديد المحلي. ويتم تكرار هذه الخطوات للسماح بتجميع مجموعة من البيانات المضغوطة والبيانات الأولية في استجابة واحدة. |
removals[] |
مجموعة من الإدخالات لإزالتها من قائمة نوع التهديد المحلي. من الناحية العملية، هذا الحقل فارغ أو يحتوي على مجموعة تهديدات واحدة فقط. |
newClientState |
الحالة الجديدة للعميل، وتكون بتنسيق مشفّر. غير شفاف للعملاء. سلسلة بترميز base64. |
checksum |
تجزئة SHA256 المتوقعة لحالة العميل، أي من القائمة المُرتّبة لجميع علامات التجزئة المتوفّرة في قاعدة البيانات بعد تطبيق التحديث المقدَّم. إذا لم تتطابق حالة العميل مع الحالة المتوقعة، على العميل تجاهل هذا التعديل وإعادة المحاولة لاحقًا. |
نوع الاستجابة
نوع الرد الذي تم إرساله إلى العميل.
عمليات التعداد | |
---|---|
RESPONSE_TYPE_UNSPECIFIED |
غير معروف. |
PARTIAL_UPDATE |
يتم تطبيق التحديثات الجزئية على قاعدة البيانات المحلية الموجودة لدى العميل. |
FULL_UPDATE |
تحل التحديثات الكاملة محل قاعدة بيانات العميل المحلية بالكامل. وهذا يعني أن العميل كان قديمًا للغاية أو أن العميل يُعتقد أنه تالف. |
مجموعة إعدادات التهديد
مجموعة من التهديدات التي يجب إضافتها أو إزالتها من قاعدة البيانات المحلية للعميل.
تمثيل JSON | |
---|---|
{ "compressionType": enum ( |
الحقول | |
---|---|
compressionType |
نوع الضغط للإدخالات في هذه المجموعة. |
rawHashes |
الإدخالات الأولية بتنسيق SHA256. |
rawIndices |
مؤشرات الإزالة الأولية لقائمة محلية. |
riceHashes |
البادئات المشفرة 4 بايت من الإدخالات بتنسيق SHA256، باستخدام تشفير Golomb-Rice يتم تحويل التجزئات إلى uint32، وترتيبها تصاعديًا، ثم ترميز دلتا وتخزينها بترميز DataData. |
riceIndices |
فهارس القوائم المحلية المرمزة والمعنونة، وذلك باستخدام ترميز Golomb-Rice يُستخدم لإرسال فهارس الإزالة المضغوطة. يتم ترتيب مؤشرات الإزالة (uint32) بترتيب تصاعدي، ثم يتم ترميز دلتا وتخزينها بترميز DataData. |
علامات التجزئة الأولية
إدخالات التهديد غير المضغوطة بتنسيق تجزئة بطول بادئة معينة. يمكن أن يتراوح حجم وحدات التجزئة بين 4 و32 بايت. وتبلغ الغالبية العظمى منها 4 بايت، ولكن يتم إطالة بعض التجزئات إذا كانت تتزامن مع تجزئة عنوان URL شائع.
يتم استخدامه لإرسال ThreatEntrySet إلى البرامج التي لا توفِّر إمكانية الضغط، أو عند إرسال تجزئات غير بحجم 4 بايت إلى البرامج التي تتيح الضغط.
تمثيل JSON | |
---|---|
{ "prefixSize": integer, "rawHashes": string } |
الحقول | |
---|---|
prefixSize |
عدد وحدات البايت لكل بادئة مشفرة أدناه. يمكن أن يتراوح هذا الحقل بين 4 (أقصر بادئة) و32 (تجزئة SHA256 كاملة). |
rawHashes |
علامات التجزئة، بتنسيق ثنائي، مجمّعة في سلسلة واحدة طويلة. يتم ترتيب علامات التجزئة حسب الترتيب الأبجدي. بالنسبة إلى مستخدمي واجهة برمجة تطبيقات JSON، يتم تجزئة الترميز باستخدام base64. سلسلة بترميز base64. |
مؤشرات أولية
مجموعة من الفهارس الأولية المطلوب إزالتها من قائمة محلية.
تمثيل JSON | |
---|---|
{ "indices": [ integer ] } |
الحقول | |
---|---|
indices[] |
الفهارس المطلوب إزالتها من قائمة محلية تمّ ترتيبها حسب المعجم. |
ترميز RiceDeltaEncoding
البيانات المشفرة بالأرز-الجول. يُستخدم هذا الإعداد لإرسال تجزئات مضغوطة بحجم 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. |