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