- درخواست HTTP
- پارامترهای پرس و جو
- درخواست بدن
- بدن پاسخگو
- FullHash
- FullHashDetail
- ThreatType
- ThreatAttribute
هش کامل مطابق با پیشوندهای مشخص شده را جستجو کنید.
این یک روش سفارشی است که توسط https://google.aip.dev/136 تعریف شده است (روش سفارشی به این روش اشاره دارد که یک نام سفارشی در نامگذاری توسعه API عمومی Google دارد؛ به استفاده از روش HTTP سفارشی اشاره نمیکند).
درخواست HTTP
GET https://safebrowsing.googleapis.com/v5/hashes:search
URL از دستور GRPC Transcoding استفاده می کند.
پارامترهای پرس و جو
پارامترها | |
---|---|
hashPrefixes[] | مورد نیاز. پیشوندهای هش که باید جستجو شوند. مشتریان نباید بیش از 1000 پیشوند هش ارسال کنند. با این حال، به دنبال روش پردازش URL، مشتریان نباید بیش از 30 پیشوند هش ارسال کنند. در حال حاضر هر پیشوند هش باید دقیقاً 4 بایت باشد. این ممکن است در آینده آرام شود. رشته ای با کد base64. |
درخواست بدن
بدنه درخواست باید خالی باشد.
بدن پاسخگو
پس از جستجوی هش تهدید، پاسخ برگشت.
اگر چیزی پیدا نشد، سرور به جای بازگرداندن وضعیت 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[] | لیست نامرتب ویژگیهای اضافی درباره آن هشهای کامل. این ممکن است خالی باشد. |
ThreatType
انواع تهدید.
Enums | |
---|---|
THREAT_TYPE_UNSPECIFIED | نوع تهدید ناشناخته اگر این مورد توسط سرور برگردانده شود، کلاینت باید FullHashDetail را به طور کامل نادیده بگیرد. |
MALWARE | نوع تهدید بدافزار بدافزار به هر نرم افزار یا برنامه تلفن همراهی گفته می شود که به طور خاص برای آسیب رساندن به رایانه، دستگاه تلفن همراه، نرم افزاری که در حال اجراست یا کاربران آن طراحی شده است. بدافزار رفتار مخربی از خود نشان می دهد که می تواند شامل نصب نرم افزار بدون رضایت کاربر و نصب نرم افزارهای مضر مانند ویروس ها باشد. اطلاعات بیشتر را می توان در اینجا یافت. |
SOCIAL_ENGINEERING | نوع تهدید مهندسی اجتماعی صفحات مهندسی اجتماعی به دروغ ادعا می کنند که از طرف شخص ثالث عمل می کنند و قصد دارند بینندگان را برای انجام کاری گیج کنند که بیننده فقط به یک عامل واقعی آن شخص ثالث اعتماد کند. فیشینگ نوعی مهندسی اجتماعی است که بیننده را فریب می دهد تا اقدام خاصی برای ارائه اطلاعات مانند اعتبار ورود به سیستم انجام دهد. اطلاعات بیشتر را می توان در اینجا یافت. |
UNWANTED_SOFTWARE | نوع تهدید نرم افزار ناخواسته نرم افزار ناخواسته هر نرم افزاری است که به اصول نرم افزار گوگل پایبند نیست اما بدافزار نیست. |
POTENTIALLY_HARMFUL_APPLICATION | نوع تهدید برنامه بالقوه مضر همانطور که Google Play Protect برای فروشگاه Play استفاده می کند . |
ThreatAttribute
ویژگی های تهدید این ویژگی ها ممکن است معنای بیشتری به یک تهدید خاص بدهد اما بر نوع تهدید تأثیری نخواهد گذاشت. به عنوان مثال، یک ویژگی ممکن است اطمینان کمتری را مشخص کند در حالی که یک ویژگی دیگر ممکن است اطمینان بالاتری را مشخص کند. ممکن است در آینده ویژگی های بیشتری اضافه شود.
Enums | |
---|---|
THREAT_ATTRIBUTE_UNSPECIFIED | ویژگی ناشناخته اگر این مورد توسط سرور برگردانده شود، کلاینت باید FullHashDetail را به طور کامل نادیده بگیرد. |
CANARY | نشان می دهد که typeType نباید برای اجرا استفاده شود. |
FRAME_ONLY | نشان می دهد که نوع تهدید فقط باید برای اعمال روی فریم ها استفاده شود. |