Method: hashes.search

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

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

HTTP অনুরোধ

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

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

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

পরামিতি
hashPrefixes[]

string ( bytes format)

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

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

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

filter

string

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

ফিল্টারটি গুগল কমন এক্সপ্রেশন ল্যাঙ্গুয়েজ ব্যবহার করে নির্দিষ্ট করা হয়েছে, যা 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 ফিল্ড খালি রেখে একটি OK স্ট্যাটাস (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 )

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

ফুলহ্যাশবিস্তারিত

একটি মিলে যাওয়া পূর্ণ হ্যাশ সম্পর্কে বিশদ বিবরণ।

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

JSON উপস্থাপনা
{
  "threatType": enum (ThreatType),
  "attributes": [
    enum (ThreatAttribute)
  ]
}
ক্ষেত্র
threatType

enum ( ThreatType )

হুমকির ধরণ। এই ক্ষেত্রটি কখনই খালি থাকবে না।

attributes[]

enum ( ThreatAttribute )

তালিকাটি অক্রমিক। পূর্ণ হ্যাশগুলির জন্য অতিরিক্ত বৈশিষ্ট্য। এটি খালি থাকতে পারে।

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

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

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