هش کامل مطابق با پیشوندهای مشخص شده را جستجو کنید.
این یک روش سفارشی است که توسط https://google.aip.dev/136 تعریف شده است (روش سفارشی به این روش اشاره دارد که یک نام سفارشی در نامگذاری توسعه API عمومی Google دارد؛ به استفاده از روش HTTP سفارشی اشاره نمیکند).
درخواست HTTP
GET https://safebrowsing.googleapis.com/v5alpha1/hashes:search
URL از دستور GRPC Transcoding استفاده می کند.
پارامترهای پرس و جو
پارامترها | |
---|---|
hashPrefixes[] | مورد نیاز. پیشوندهای هش که باید جستجو شوند. مشتریان نباید بیش از 1000 پیشوند هش ارسال کنند. با این حال، به دنبال روش پردازش URL، مشتریان نباید بیش از 30 پیشوند هش ارسال کنند. در حال حاضر هر پیشوند هش باید دقیقاً 4 بایت باشد. این ممکن است در آینده آرام شود. رشته ای با کد base64. |
filter | اختیاری. اگر مشتری علاقه مند به فیلتر کردن باشد، مانند بازیابی انواع خاصی از تهدیدات، می توان آن را مشخص کرد. در صورت حذف، تمام تهدیدات منطبق برگردانده می شوند. برای دریافت کاملترین حفاظتی که Safe Browsing می تواند ارائه دهد، به شدت توصیه می شود که این مورد را حذف کنید. فیلتر با استفاده از زبان عبارت رایج گوگل مشخص شده است، که میتوانید آن را در https://github.com/google/cel-spec به همراه مثالهای کلی پیدا کنید. در اینجا چند نمونه خاص وجود دارد که می توان از آنها در اینجا استفاده کرد: فیلتر فیلتر |
درخواست بدن
بدنه درخواست باید خالی باشد.
بدن پاسخگو
پس از جستجوی هش تهدید، پاسخ برگشت.
اگر چیزی پیدا نشد، سرور به جای بازگرداندن وضعیت NOT_FOUND (کد وضعیت HTTP 404) وضعیت OK (کد وضعیت HTTP 200) را با فیلد fullHashes
خالی برمی گرداند.
چیزهای جدید در V5 : یک جدایی بین FullHash
و FullHashDetail
وجود دارد. در صورتی که یک هش نشان دهنده سایتی باشد که چندین تهدید دارد (مانند MALWARE و SOCIAL_ENGINEERING)، نیازی نیست هش کامل دو برابر نسخه 4 ارسال شود. علاوه بر این، مدت زمان کش به یک فیلد cacheDuration
ساده شده است.
در صورت موفقیت آمیز بودن، بدنه پاسخ حاوی داده هایی با ساختار زیر است:
نمایندگی JSON |
---|
{
"fullHashes": [
{
object ( |
فیلدها | |
---|---|
fullHashes[] | لیست نامرتب لیست نامرتب هش کامل پیدا شد. |
cacheDuration | مدت زمان کش سمت مشتری. مشتری باید این مدت زمان را به زمان فعلی اضافه کند تا زمان انقضا مشخص شود. زمان انقضا پس از آن برای هر پیشوند هش درخواست شده توسط مشتری در درخواست اعمال می شود، صرف نظر از اینکه چه تعداد هش کامل در پاسخ بازگردانده شده است. حتی اگر سرور هیچ هش کاملی را برای یک پیشوند هش خاص برنگرداند، این واقعیت نیز باید توسط مشتری ذخیره شود. اگر و فقط اگر فیلد مهم: کلاینت نباید فرض کند که سرور مدت زمان کش یکسانی را برای همه پاسخ ها برمی گرداند. سرور ممکن است بسته به موقعیت، مدت زمان کش متفاوتی را برای پاسخ های مختلف انتخاب کند. مدت زمان در ثانیه با حداکثر نه رقم کسری که با ' |
FullHash
هش کامل با یک یا چند مورد منطبق شناسایی شده است.
نمایندگی JSON |
---|
{
"fullHash": string,
"fullHashDetails": [
{
object ( |
فیلدها | |
---|---|
fullHash | تطبیق هش کامل. این هش SHA256 است. طول دقیقاً 32 بایت خواهد بود. رشته ای با کد base64. |
fullHashDetails[] | لیست نامرتب یک فیلد تکراری که جزئیات مربوط به این هش کامل را شناسایی می کند. |
FullHashDetail
جزئیات مربوط به یک هش کامل منطبق.
یک نکته مهم در مورد سازگاری رو به جلو: انواع تهدیدات و ویژگی های تهدید جدید ممکن است در هر زمان توسط سرور اضافه شود. این اضافات تغییرات جزئی نسخه در نظر گرفته می شوند. این خطمشی Google است که شمارههای نسخه جزئی را در APIها در معرض نمایش قرار ندهد (برای خطمشی نسخهسازی به https://cloud.google.com/apis/design/versioning مراجعه کنید)، بنابراین مشتریان باید برای دریافت پیامهای FullHashDetail
حاوی مقادیر ThreatType
enum یا ThreatAttribute
آماده باشند. مقادیر enum که توسط مشتری نامعتبر در نظر گرفته می شوند. بنابراین، این مسئولیت مشتری است که اعتبار تمام مقادیر ThreatType
و ThreatAttribute
enum را بررسی کند. اگر مقداری نامعتبر در نظر گرفته شود، مشتری باید کل پیام FullHashDetail
را نادیده بگیرد.
نمایندگی JSON |
---|
{ "threatType": enum ( |
فیلدها | |
---|---|
threatType | نوع تهدید. این فیلد هرگز خالی نخواهد بود. |
attributes[] | لیست نامرتب ویژگیهای اضافی درباره آن هشهای کامل. این ممکن است خالی باشد. |
ThreatAttribute
ویژگی های تهدید این ویژگی ها ممکن است معنای بیشتری به یک تهدید خاص بدهد اما بر نوع تهدید تأثیری نخواهد گذاشت. به عنوان مثال، یک ویژگی ممکن است اطمینان کمتری را مشخص کند در حالی که یک ویژگی دیگر ممکن است اطمینان بالاتری را مشخص کند. ممکن است در آینده ویژگی های بیشتری اضافه شود.
Enums | |
---|---|
THREAT_ATTRIBUTE_UNSPECIFIED | ویژگی ناشناخته اگر این مورد توسط سرور برگردانده شود، کلاینت باید FullHashDetail را به طور کامل نادیده بگیرد. |
CANARY | نشان می دهد که typeType نباید برای اجرا استفاده شود. |
FRAME_ONLY | نشان می دهد که نوع تهدید فقط باید برای اعمال روی فریم ها استفاده شود. |