- درخواست HTTP
- درخواست بدن
- بدن پاسخگو
- ListUpdateRequest
- محدودیت ها
- نوع فشرده سازی
- ListUpdateResponse
- نوع پاسخ
- ThreatEntrySet
- RawHashs
- شاخص های خام
- RiceDeltaEncoding
- چک جمع
جدیدترین بهروزرسانیهای فهرست تهدید را واکشی میکند. یک کلاینت میتواند بهروزرسانیهایی را برای چندین فهرست به طور همزمان درخواست کند.
درخواست HTTP
POST https://safebrowsing.googleapis.com/v4/threatListUpdates:fetch
URL از دستور GRPC Transcoding استفاده می کند.
درخواست بدن
بدنه درخواست حاوی داده هایی با ساختار زیر است:
نمایندگی 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 قالب آلفا-2. |
supportedCompressions[] | انواع فشرده سازی که توسط مشتری پشتیبانی می شود. |
language | لیست ها را برای یک زبان خاص درخواست می کند. انتظار می رود ISO 639 آلفا-2 فرمت. |
deviceLocation | مکان فیزیکی مشتری، که به عنوان کد منطقه آلفا-2 ISO 31166-1 بیان شده است. |
نوع فشرده سازی
روش هایی که می توان مجموعه های ورودی تهدید را فشرده کرد.
Enums | |
---|---|
COMPRESSION_TYPE_UNSPECIFIED | ناشناس. |
RAW | داده های خام و فشرده نشده |
RICE | داده های رمزگذاری شده Rice-Golomb. |
ListUpdateResponse
به روز رسانی یک لیست فردی.
نمایندگی JSON |
---|
{ "threatType": enum ( |
فیلدها | |
---|---|
threatType | نوع تهدیدی که داده برای آن برگردانده می شود. |
threatEntryType | قالب تهدیدات |
platformType | نوع پلتفرمی که داده برای آن برگردانده می شود. |
responseType | نوع پاسخ. این ممکن است نشان دهنده این باشد که هنگام دریافت پاسخ، مشتری به یک اقدام نیاز دارد. |
additions[] | مجموعه ای از ورودی ها برای افزودن به لیست نوع تهدید محلی. تکرار میشود تا ترکیبی از دادههای فشرده و خام در یک پاسخ ارسال شود. |
removals[] | مجموعه ای از ورودی ها برای حذف از لیست نوع تهدید محلی. در عمل، این فیلد خالی است یا دقیقاً حاوی یک ThreatEntrySet است. |
newClientState | حالت مشتری جدید، در قالب رمزگذاری شده. غیر شفاف برای مشتریان رشته ای با کد base64. |
checksum | هش مورد انتظار SHA256 از حالت کلاینت؛ یعنی لیست مرتب شده همه هش های موجود در پایگاه داده پس از اعمال به روز رسانی ارائه شده. اگر حالت سرویس گیرنده با وضعیت مورد انتظار مطابقت نداشته باشد، مشتری باید این بهروزرسانی را نادیده بگیرد و بعداً دوباره امتحان کند. |
نوع پاسخ
نوع پاسخ ارسال شده به مشتری
Enums | |
---|---|
RESPONSE_TYPE_UNSPECIFIED | ناشناس. |
PARTIAL_UPDATE | به روز رسانی های جزئی در پایگاه داده محلی موجود مشتری اعمال می شود. |
FULL_UPDATE | به روز رسانی کامل جایگزین کل پایگاه داده محلی مشتری می شود. این به این معنی است که یا مشتری به طور جدی منسوخ شده است یا اینکه مشتری فاسد است. |
ThreatEntrySet
مجموعه ای از تهدیدات که باید از پایگاه داده محلی مشتری اضافه یا حذف شوند.
نمایندگی JSON |
---|
{ "compressionType": enum ( |
فیلدها | |
---|---|
compressionType | نوع فشرده سازی برای ورودی های این مجموعه. |
rawHashes | ورودی های خام با قالب SHA256. |
rawIndices | شاخص های حذف خام برای یک لیست محلی. |
riceHashes | پیشوندهای کدگذاری شده 4 بایتی ورودی های با فرمت SHA256، با استفاده از رمزگذاری Golomb-Rice. هش ها به uint32 تبدیل می شوند، به ترتیب صعودی مرتب می شوند، سپس دلتا کدگذاری می شوند و به عنوان encodedData ذخیره می شوند. |
riceIndices | فهرستهای محلی رمزگذاریشده، واژگانی مرتبشده، با استفاده از رمزگذاری Golomb-Rice. برای ارسال شاخص های حذف فشرده استفاده می شود. شاخص های حذف (uint32) به ترتیب صعودی مرتب می شوند، سپس دلتا کدگذاری می شوند و به عنوان encodedData ذخیره می شوند. |
RawHashs
تهدیدهای فشرده نشده در قالب هش با طول پیشوند خاص وارد می شود. اندازه هش ها می تواند از 4 تا 32 بایت باشد. اکثریت بزرگ 4 بایت هستند، اما برخی از هش ها در صورت برخورد با هش URL محبوب، طولانی تر می شوند.
برای ارسال ThreatEntrySet به کلاینت هایی که از فشرده سازی پشتیبانی نمی کنند یا هنگام ارسال هش های غیر 4 بایتی به کلاینت هایی که از فشرده سازی پشتیبانی می کنند استفاده می شود.
نمایندگی JSON |
---|
{ "prefixSize": integer, "rawHashes": string } |
فیلدها | |
---|---|
prefixSize | تعداد بایت ها برای هر پیشوند در زیر کدگذاری شده است. این فیلد می تواند از 4 (کوتاه ترین پیشوند) تا 32 (هش کامل SHA256) باشد. |
rawHashes | هش ها، در قالب باینری، به یک رشته طولانی متصل می شوند. هش ها به ترتیب واژگانی مرتب شده اند. برای کاربران JSON API، هش ها با پایه 64 کدگذاری می شوند. رشته ای با کد 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. |