Method: hashes.search

নির্দিষ্ট উপসর্গের সাথে মিলে যাওয়া সম্পূর্ণ হ্যাশের জন্য অনুসন্ধান করুন।

এটি একটি কাস্টম পদ্ধতি যা https://google.aip.dev/136 দ্বারা সংজ্ঞায়িত করা হয়েছে (কাস্টম পদ্ধতিটি এই পদ্ধতিকে বোঝায় যেটি Google এর সাধারণ API বিকাশ নামকরণের মধ্যে একটি কাস্টম নাম রয়েছে; এটি একটি কাস্টম HTTP পদ্ধতি ব্যবহার করার উল্লেখ করে না)।

HTTP অনুরোধ

GET https://safebrowsing.googleapis.com/v5alpha1/hashes:search

URL gRPC ট্রান্সকোডিং সিনট্যাক্স ব্যবহার করে।

ক্যোয়ারী প্যারামিটার

পরামিতি
hashPrefixes[]

string ( bytes format)

প্রয়োজন। হ্যাশ উপসর্গগুলি দেখতে হবে। ক্লায়েন্টদের 1000টির বেশি হ্যাশ প্রিফিক্স পাঠাতে হবে না। যাইহোক, URL প্রক্রিয়াকরণ পদ্ধতি অনুসরণ করে, ক্লায়েন্টদের 30টির বেশি হ্যাশ উপসর্গ পাঠাতে হবে না।

বর্তমানে প্রতিটি হ্যাশ প্রিফিক্স ঠিক 4 বাইট লম্বা হওয়া প্রয়োজন। এটি ভবিষ্যতে শিথিল হতে পারে।

একটি base64-এনকোডেড স্ট্রিং।

filter

string

ঐচ্ছিক। যদি ক্লায়েন্ট ফিল্টারিং করতে আগ্রহী হয়, যেমন শুধুমাত্র নির্দিষ্ট ধরণের হুমকি পুনরুদ্ধার করা, এটি নির্দিষ্ট করা যেতে পারে। বাদ দেওয়া হলে, সমস্ত মিলে যাওয়া হুমকি ফেরত দেওয়া হয়। নিরাপদ ব্রাউজিং অফার করতে পারে এমন সবচেয়ে সম্পূর্ণ সুরক্ষা পেতে এটি বাদ দেওয়ার জন্য অত্যন্ত সুপারিশ করা হয়।

ফিল্টারটি Google কমন এক্সপ্রেশন ল্যাঙ্গুয়েজ ব্যবহার করে নির্দিষ্ট করা হয়েছে, যা https://github.com/google/cel-spec- এ সাধারণ উদাহরণ সহ পাওয়া যাবে। এখানে কিছু নির্দিষ্ট উদাহরণ রয়েছে যা এখানে ব্যবহার করা যেতে পারে:

"threatType == ThreatType.SOCIAL_ENGINEERING" ফিল্টারটির প্রয়োজন যে FullHashDetail মধ্যে হুমকির ধরনটি SOCIAL_ENGINEERING হতে হবে। শনাক্তকারী "threatType" বর্তমান হুমকি টাইপ বোঝায়। শনাক্তকারী "ThreatType" সমস্ত সম্ভাব্য হুমকি প্রকারের সংগ্রহকে বোঝায়।

ফিল্টার "threatType in [ ThreatType.UNWANTED_SOFTWARE, ThreatType.MALWARE ]" প্রয়োজন যে হুমকির ধরনটি UNWANTED_SOFTWARE বা MALWARE হতে হবে।

শরীরের অনুরোধ

অনুরোধের বডি খালি হতে হবে।

প্রতিক্রিয়া শরীর

হুমকি হ্যাশ অনুসন্ধান করার পরে প্রতিক্রিয়া ফিরে.

যদি কিছু না পাওয়া যায়, সার্ভার একটি NOT_FOUND স্ট্যাটাস (HTTP স্ট্যাটাস কোড 404) ফেরত না দিয়ে, fullHashes ফিল্ড খালি রেখে একটি ঠিক আছে (HTTP স্ট্যাটাস কোড 200) ফিরিয়ে দেবে।

V5-এ নতুন কি : FullHash এবং FullHashDetail এর মধ্যে একটি বিচ্ছেদ রয়েছে। সেক্ষেত্রে যখন একটি হ্যাশ এমন একটি সাইটের প্রতিনিধিত্ব করে যেখানে একাধিক হুমকি রয়েছে (যেমন MALWARE এবং SOCIAL_ENGINEERING উভয়ই), সম্পূর্ণ হ্যাশ V4-এর মতো দুবার পাঠানোর প্রয়োজন নেই। অধিকন্তু, ক্যাশের সময়কালকে একটি একক cacheDuration ক্ষেত্রে সরলীকৃত করা হয়েছে।

সফল হলে, প্রতিক্রিয়া বডিতে নিম্নলিখিত কাঠামোর সাথে ডেটা থাকে:

JSON প্রতিনিধিত্ব
{
  "fullHashes": [
    {
      object (FullHash)
    }
  ],
  "cacheDuration": string
}
ক্ষেত্র
fullHashes[]

object ( FullHash )

অবিন্যস্ত তালিকা. সম্পূর্ণ হ্যাশের অবিন্যস্ত তালিকা পাওয়া গেছে।

cacheDuration

string ( Duration format)

ক্লায়েন্ট-সাইড ক্যাশে সময়কাল। মেয়াদ শেষ হওয়ার সময় নির্ধারণ করতে ক্লায়েন্টকে অবশ্যই বর্তমান সময়ের সাথে এই সময়কাল যোগ করতে হবে। মেয়াদ শেষ হওয়ার সময়টি অনুরোধে ক্লায়েন্ট দ্বারা জিজ্ঞাসা করা প্রতিটি হ্যাশ উপসর্গের জন্য প্রযোজ্য, প্রতিক্রিয়াতে কতগুলি হ্যাশ ফেরত দেওয়া হোক না কেন। এমনকি যদি সার্ভার একটি নির্দিষ্ট হ্যাশ উপসর্গের জন্য কোনও সম্পূর্ণ হ্যাশ না দেয়, তবে এই সত্যটিও ক্লায়েন্টের দ্বারা ক্যাশে করা আবশ্যক।

যদি এবং শুধুমাত্র যদি ক্ষেত্র fullHashes খালি থাকে, ক্লায়েন্ট একটি নতুন মেয়াদ নির্ধারণ করতে cacheDuration বাড়িয়ে দিতে পারে যা সার্ভার দ্বারা নির্দিষ্ট করা সময়ের পরে। যে কোনো ক্ষেত্রে, বর্ধিত ক্যাশে সময়কাল 24 ঘন্টার বেশি হওয়া উচিত নয়।

গুরুত্বপূর্ণ: ক্লায়েন্টকে অনুমান করা উচিত নয় যে সার্ভারটি সমস্ত প্রতিক্রিয়ার জন্য একই ক্যাশে সময়কাল ফিরিয়ে দেবে। সার্ভার পরিস্থিতির উপর নির্ভর করে বিভিন্ন প্রতিক্রিয়ার জন্য বিভিন্ন ক্যাশে সময়কাল বেছে নিতে পারে।

নয়টি পর্যন্ত ভগ্নাংশের সংখ্যা সহ সেকেন্ডে একটি সময়কাল, ' s ' দিয়ে শেষ হয়৷ উদাহরণ: "3.5s"

ফুলহ্যাশ

এক বা একাধিক মিলের সাথে চিহ্নিত সম্পূর্ণ হ্যাশ।

JSON প্রতিনিধিত্ব
{
  "fullHash": string,
  "fullHashDetails": [
    {
      object (FullHashDetail)
    }
  ]
}
ক্ষেত্র
fullHash

string ( bytes format)

ম্যাচিং পূর্ণ হ্যাশ. এটি SHA256 হ্যাশ। দৈর্ঘ্য হবে ঠিক 32 বাইট।

একটি base64-এনকোডেড স্ট্রিং।

fullHashDetails[]

object ( FullHashDetail )

অবিন্যস্ত তালিকা. একটি পুনরাবৃত্ত ক্ষেত্র এই সম্পূর্ণ হ্যাশের সাথে প্রাসঙ্গিক বিবরণ সনাক্ত করে।

ফুলহ্যাশ ডিটেইল

একটি ম্যাচিং পূর্ণ হ্যাশ সম্পর্কে বিশদ বিবরণ.

ফরোয়ার্ড সামঞ্জস্য সম্পর্কে একটি গুরুত্বপূর্ণ নোট: নতুন হুমকির ধরন এবং হুমকির বৈশিষ্ট্যগুলি যে কোনো সময় সার্ভার দ্বারা যোগ করা হতে পারে; এই সংযোজনগুলিকে ছোট সংস্করণ পরিবর্তন হিসাবে বিবেচনা করা হয়। এপিআই-এ ক্ষুদ্র সংস্করণ নম্বর প্রকাশ না করা Google-এর নীতি (সংস্করণ নীতির জন্য https://cloud.google.com/apis/design/versioning দেখুন), তাই ক্লায়েন্টদের অবশ্যই ThreatType enum মান বা ThreatAttribute সম্বলিত FullHashDetail বার্তা পাওয়ার জন্য প্রস্তুত থাকতে হবে enum মান যা ক্লায়েন্ট দ্বারা অবৈধ বলে বিবেচিত হয়। অতএব, সমস্ত ThreatType এবং ThreatAttribute enum মানগুলির বৈধতা পরীক্ষা করা ক্লায়েন্টের দায়িত্ব; যদি কোনো মান অবৈধ বলে বিবেচিত হয়, ক্লায়েন্টকে অবশ্যই সম্পূর্ণ FullHashDetail বার্তাটি উপেক্ষা করতে হবে।

JSON প্রতিনিধিত্ব
{
  "threatType": enum (ThreatType),
  "attributes": [
    enum (ThreatAttribute)
  ]
}
ক্ষেত্র
threatType

enum ( ThreatType )

হুমকির ধরন। এই মাঠ কখনই খালি হবে না।

attributes[]

enum ( ThreatAttribute )

অবিন্যস্ত তালিকা. সেই সম্পূর্ণ হ্যাশ সম্পর্কে অতিরিক্ত বৈশিষ্ট্য। এই খালি হতে পারে.

থ্রেট অ্যাট্রিবিউট

হুমকির বৈশিষ্ট্য। এই বৈশিষ্ট্যগুলি একটি নির্দিষ্ট হুমকিকে অতিরিক্ত অর্থ প্রদান করতে পারে তবে হুমকির ধরণকে প্রভাবিত করবে না। উদাহরণস্বরূপ, একটি বৈশিষ্ট্য একটি নিম্ন আত্মবিশ্বাস নির্দিষ্ট করতে পারে যখন একটি ভিন্ন বৈশিষ্ট্য উচ্চ আত্মবিশ্বাস নির্দিষ্ট করতে পারে। ভবিষ্যতে আরো বৈশিষ্ট্য যোগ করা হতে পারে.

Enums
THREAT_ATTRIBUTE_UNSPECIFIED অজানা বৈশিষ্ট্য। যদি এটি সার্ভার দ্বারা ফেরত দেওয়া হয়, তাহলে ক্লায়েন্ট সম্পূর্ণরূপে পরিবেষ্টিত FullHashDetail উপেক্ষা করবে।
CANARY নির্দেশ করে যে হুমকি টাইপ প্রয়োগের জন্য ব্যবহার করা উচিত নয়।
FRAME_ONLY নির্দেশ করে যে হুমকি টাইপ শুধুমাত্র ফ্রেমে প্রয়োগের জন্য ব্যবহার করা উচিত।