ব্যবহারকারী Google Play Store থেকে আপনার অ্যাপের বৈধ অনুলিপি কিনেছেন বা ডাউনলোড করেছেন কিনা তা যাচাই করার সময়, আপনার নিয়ন্ত্রণ করা সার্ভারে লাইসেন্স যাচাইকরণ পরীক্ষা করা ভাল।
এই নির্দেশিকা সার্ভার-সাইড লাইসেন্স যাচাইকরণ সম্পূর্ণ করার জন্য একটি ধাপে ধাপে প্রক্রিয়া উপস্থাপন করে এবং এই চেকটি সম্পাদনের সাথে সম্পর্কিত কিছু সেরা অনুশীলন উপস্থাপন করে।
প্রক্রিয়ার সারসংক্ষেপ
চিত্র 1 দেখায় কিভাবে তথ্য আপনার অ্যাপ, Google Play এবং আপনার ব্যক্তিগত সার্ভারের মধ্যে স্থানান্তর করা হয়:
- কোনো নির্দিষ্ট ব্যবহারকারী আপনার অ্যাপের বৈধ কপি কিনেছেন বা ডাউনলোড করেছেন কিনা তা জানতে আপনার অ্যাপ Google Play-তে একটি অনুরোধ করে।
- Google Play আপনার অ্যাপে একটি রেসপন্স ডেটা অবজেক্ট ,
ResponseData
ধরনের একটি অবজেক্ট পাঠিয়ে সাড়া দেয়। এই বস্তুটি তথ্যের একটি স্বাক্ষরিত অংশ যা বলে যে ব্যবহারকারী আপনার অ্যাপের একটি বৈধ কপি কিনেছেন বা ডাউনলোড করেছেন কিনা। - আপনার অ্যাপ একটি ব্যক্তিগত সার্ভারের কাছে একটি অনুরোধ করে যা আপনি নিয়ন্ত্রণ করেন, প্রতিক্রিয়া ডেটার বিষয়বস্তু যাচাই করে।
- ব্যবহারকারী আপনার অ্যাপের বৈধ কপি কিনেছেন বা ডাউনলোড করেছেন কিনা তা নির্দেশ করে সার্ভার আপনার অ্যাপে একটি স্ট্যাটাস পাঠিয়ে প্রতিক্রিয়া জানায়। যদি সার্ভার একটি "সফল" বার্তা প্রদান করে, প্রতিক্রিয়া যাচাই করুন এবং তারপরে ব্যবহারকারীকে লাইসেন্সের প্রয়োজন এমন সংস্থানগুলিতে অ্যাক্সেস প্রদান করুন৷
যেহেতু প্রতিক্রিয়া ডেটা Google Play দ্বারা স্বাক্ষরিত, তারপরে আপনার সার্ভারে চেক করা হয়েছে, আপনার অ্যাপটি চালানো ডিভাইসে অবজেক্টটি পরিবর্তন করার কোন উপায় নেই। যদি আপনার অ্যাপ সার্ভারের উপর নির্ভর করে এবং শুধুমাত্র বৈধ ব্যবহারকারীদের জন্য সংস্থানগুলি উপলব্ধ করে, তাহলে আপনার অ্যাপটি অননুমোদিত ব্যবহারকারীদের বিরুদ্ধে যথেষ্ট বেশি সুরক্ষিত থাকে।
নিম্নলিখিত বিভাগগুলি সার্ভার-সাইড লাইসেন্স যাচাইকরণের সময় মনে রাখতে অতিরিক্ত বিবেচনা প্রদান করে।
রিপ্লে আক্রমণ থেকে রক্ষা করুন
ব্যবহারকারীর লাইসেন্সের স্থিতি সম্পর্কে Google Play থেকে একটি প্রতিক্রিয়া পাওয়ার পরে, ব্যবহারকারীর পক্ষে প্রতিক্রিয়া ডেটা অনুলিপি করা এবং এটি একাধিকবার ব্যবহার করা বা অন্য ব্যবহারকারীদের দেওয়া সম্ভব যারা আপনার অ্যাপের ব্যক্তিগত সার্ভারে তাদের নিজস্ব অনুরোধ জাল করতে পারে৷ এই ধরণের অ্যাকশন রিপ্লে অ্যাটাক নামে পরিচিত।
ব্যবহারকারীদের সফলভাবে রিপ্লে আক্রমণ করার সম্ভাবনা কমাতে, আপনার অ্যাপের সার্ভারে একটি অনুরোধ পাঠানোর আগে নিম্নলিখিত ব্যবস্থা নিন:
প্রতিক্রিয়া ডেটাতে অন্তর্ভুক্ত টাইমস্ট্যাম্পটি দেখুন, নিশ্চিত করুন যে Google Play সম্প্রতি প্রতিক্রিয়া তৈরি করেছে।
আপনার অ্যাপ্লিকেশানের সার্ভারে আপনার অ্যাপ্লিকেশানের একই প্রতিক্রিয়া ডেটা পাঠানোর চেষ্টা করার সংখ্যা কমাতে আপনার সার্ভারের অনুরোধে রেট-লিমিটিং সঞ্চালন করুন, যেমন সূচকীয় ব্যাকঅফ৷
আপনার ব্যক্তিগত সার্ভারে Google Play এর প্রতিক্রিয়া ডেটার বিষয়বস্তু যাচাই করার আগে, আপনার ব্যক্তিগত সার্ভারে একটি প্রাথমিক, প্রমাণীকরণ-ভিত্তিক অনুরোধ করুন৷ এই প্রথম অনুরোধে, আপনার সার্ভারে ব্যবহারকারীর শংসাপত্রগুলি পাঠান, এবং আপনার সার্ভারকে একটি নন্স , বা শুধুমাত্র একবার ব্যবহার করা হয় এমন একটি সংখ্যা দিয়ে প্রতিক্রিয়া জানাতে হবে৷ তারপর আপনি লাইসেন্স যাচাইকরণ ডেটার জন্য জিজ্ঞাসা করে আপনার ব্যক্তিগত সার্ভারে আপনার পরবর্তী অনুরোধে এই ননসটি অন্তর্ভুক্ত করতে পারেন। ননসের জন্য একটি ভাল মান কীভাবে চয়ন করবেন তার বিশদ বিবরণের জন্য, একটি উপযুক্ত ননস মান বিভাগটি দেখুন।
একটি উপযুক্ত ননস মান তৈরি করুন
অনুমান করা কঠিন একটি ননস মান তৈরি করতে নিম্নলিখিত কৌশলগুলির মধ্যে একটি ব্যবহার করুন:
- ব্যবহারকারীর আইডির উপর ভিত্তি করে একটি হ্যাশ মান তৈরি করুন।
- প্রতি-ব্যবহারকারীর ভিত্তিতে একটি র্যান্ডম মান তৈরি করুন। একটি প্রদত্ত ব্যবহারকারীর বৈশিষ্ট্যের অংশ হিসাবে আপনার অ্যাপের সার্ভারে এই র্যান্ডম মান সংরক্ষণ করুন৷
আপনার সার্ভার থেকে প্রতিক্রিয়া তথ্য যাচাই করুন
আপনার অ্যাপের সার্ভার আপনার অ্যাপে যে প্রতিক্রিয়া ডেটা পাঠায় তা পর্যালোচনা করার সময়, নিশ্চিত করুন যে লাইসেন্স যাচাইকরণ লাইব্রেরি প্রতিক্রিয়া জাল নয়। পূর্ববর্তী ধাপে আপনার অ্যাপ Google Play থেকে প্রাপ্ত কীটির সাথে তুলনা করে অ্যাপ সার্ভারের প্রতিক্রিয়া ডেটাতে অন্তর্ভুক্ত স্বাক্ষর যাচাই করুন।
এটাও মনে রাখা দরকার যে লাইসেন্স ভেরিফিকেশন লাইব্রেরির (LVL) জন্য নির্দিষ্ট ব্লকটিই একমাত্র অংশ যা স্বাক্ষরিত। অতএব, এটি আপনার অ্যাপ সার্ভারের প্রতিক্রিয়া ডেটার একমাত্র অংশ যা আপনার অ্যাপের বিশ্বাস করা উচিত।