No Storage Real Time Mode

যখন ক্লায়েন্টরা নো-স্টোরেজ রিয়েল-টাইম মোডে Google Safe Browsing v5 ব্যবহার করতে পছন্দ করে, তখন ক্লায়েন্টকে কোনও স্থায়ী স্থানীয় ডাটাবেস বজায় রাখার প্রয়োজন হয় না। তবে, ক্লায়েন্টকে এখনও একটি স্থানীয় ক্যাশে বজায় রাখার আশা করা হয়। এই জাতীয় স্থানীয় ক্যাশে স্থায়ী স্টোরেজে থাকার প্রয়োজন হয় না এবং মেমরির চাপের ক্ষেত্রে এটি সাফ করা যেতে পারে।

যখনই ক্লায়েন্ট একটি নির্দিষ্ট URL পরীক্ষা করতে চায়, ক্লায়েন্ট সর্বদা একটি চেক সম্পাদনের জন্য সার্ভারের সাথে সংযোগ স্থাপন করে। এই মোডটি v4 লুকআপ API এর ক্লায়েন্টরা যা বাস্তবায়ন করতে পারে তার অনুরূপ।

রিয়েল-টাইম মোডের তুলনায়, এই মোডটি আরও বেশি নেটওয়ার্ক ব্যান্ডউইথ ব্যবহার করতে পারে তবে ক্লায়েন্টের জন্য স্থায়ী স্থানীয় অবস্থা বজায় রাখা অসুবিধাজনক হলে এটি আরও উপযুক্ত হতে পারে।

স্থানীয় ডাটাবেস ছাড়াই রিয়েল-টাইম URL চেক পদ্ধতি

এই পদ্ধতিটি একটি একক URL u নেয় এবং SAFE বা UNSAFE প্রদান করে।

  1. ধরুন expressions URL u দ্বারা তৈরি প্রত্যয়/উপসর্গ রাশির একটি তালিকা।
  2. expressionHashes একটি তালিকা হিসেবে ধরা যাক, যেখানে উপাদানগুলি হল expressions এর প্রতিটি এক্সপ্রেশনের SHA256 হ্যাশ।
  3. ধরা যাক expressionHashPrefixes একটি তালিকা, যেখানে উপাদানগুলি হল expressionHashes এর প্রতিটি হ্যাশের প্রথম 4 বাইট।
  4. প্রতিটি expressionHashPrefix জন্য expressionHashPrefixes :
    1. স্থানীয় ক্যাশে expressionHashPrefix দেখুন।
    2. যদি ক্যাশেড এন্ট্রিটি পাওয়া যায়:
      1. বর্তমান সময় তার মেয়াদ শেষ হওয়ার সময়ের চেয়ে বেশি কিনা তা নির্ধারণ করুন।
      2. যদি এটি বেশি হয়:
        1. স্থানীয় ক্যাশে থেকে পাওয়া ক্যাশে করা এন্ট্রিটি সরান।
        2. লুপটি চালিয়ে যান।
      3. যদি এটি বেশি না হয়:
        1. expressionHashPrefixes থেকে এই নির্দিষ্ট expressionHashPrefix সরান।
        2. ক্যাশেড এন্ট্রিতে expressionHashes মধ্যে সংশ্লিষ্ট পূর্ণ হ্যাশ পাওয়া গেছে কিনা তা পরীক্ষা করুন।
        3. যদি পাওয়া যায়, তাহলে UNSAFE ফেরত দিন।
        4. যদি না পাওয়া যায়, তাহলে লুপটি চালিয়ে যান।
    3. যদি ক্যাশেড এন্ট্রিটি না পাওয়া যায়, তাহলে লুপটি চালিয়ে যান।
  5. RPC SearchHashes অথবা REST পদ্ধতি hashes.search ব্যবহার করে Google Safe Browsing v5 সার্ভারে expressionHashPrefixes পাঠান। যদি কোনও ত্রুটি ঘটে (নেটওয়ার্ক ত্রুটি, HTTP ত্রুটি ইত্যাদি সহ), SAFE ফেরত পাঠান। অন্যথায়, প্রতিক্রিয়াটিকে SB সার্ভার থেকে প্রাপ্ত response হিসাবে ধরা যাক, যা হুমকির প্রকৃতি (সামাজিক প্রকৌশল, ম্যালওয়্যার ইত্যাদি) সনাক্তকারী কিছু সহায়ক তথ্য সহ সম্পূর্ণ হ্যাশের একটি তালিকা, সেইসাথে ক্যাশের মেয়াদ শেষ হওয়ার সময় expiration সময়।
  6. প্রতিটি fullHash response জন্য:
    1. স্থানীয় ক্যাশে fullHash প্রবেশ করান, expiration সহ।
  7. প্রতিটি fullHash response জন্য:
    1. Let isFound হল expressionHashes fullHash খুঁজে পাওয়ার ফলাফল।
    2. যদি isFound False হয়, তাহলে লুপটি চালিয়ে যান।
    3. যদি isFound সত্য হয়, তাহলে UNSAFE ফেরত দিন।
  8. SAFE ফিরে যান।

রিয়েল-টাইম মোডের মতো, এই পদ্ধতিটি সার্ভারে হ্যাশ প্রিফিক্সগুলি কীভাবে পাঠাতে হবে তা নির্দিষ্ট করে না। উদাহরণস্বরূপ, ক্লায়েন্টের জন্য একক অনুরোধে সমস্ত expressionHashPrefixes পাঠানো গ্রহণযোগ্য, এবং ক্লায়েন্টের জন্য expressionHashPrefixes প্রতিটি পৃথক প্রিফিক্স পৃথক অনুরোধে সার্ভারে পাঠানোও গ্রহণযোগ্য (সম্ভবত সমান্তরালভাবে এগিয়ে যাওয়া)। ক্লায়েন্টের জন্য expressionHashPrefixes HashPrefixes-এর হ্যাশ প্রিফিক্সের সাথে সম্পর্কহীন বা এলোমেলোভাবে তৈরি হ্যাশ প্রিফিক্সগুলি পাঠানোও গ্রহণযোগ্য, যতক্ষণ না একটি একক অনুরোধে প্রেরিত হ্যাশ প্রিফিক্সের সংখ্যা 30 এর বেশি না হয়।