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