সংক্ষেপ:
- আপনার কাছে একটি বিক্রেতার দ্বারা আপনাকে একটি API কী জারি করা হয়েছে যাতে আপনি তাদের এপিআই ব্যবহার করতে পারেন, এবং আপনার এই বাধ্যবাধকতা আছে যে এই চাবিটি অন্য কারও দ্বারা জানা থেকে রক্ষা করা উচিত you
- আপনি আপনার অ্যাপ্লিকেশন কোডটিতে সেই বিক্রেতার এপিআইতে (যার জন্য API কী প্রয়োজন) কল করছেন calls
- আপনি সেই সিস্টেমে অ্যাপ্লিকেশনটি স্থাপন করছেন যেখানে গ্রাহকরা বাইনারিগুলিতে অ্যাক্সেস পেয়ে থাকেন এবং ফলস্বরূপ কোডটি ডিসওপাইল / ডিওবাফাসেট করতে পারে বা ট্র্যাফিকের বাধা দিতে পারে
এই কীটির সমঝোতা রোধ করার সর্বোত্তম উপায় হ'ল এটির নিয়ন্ত্রণ রাখা। এর অর্থ এটি কোনও সার্ভারে কখনই মোতায়েন করা উচিত নয় যেখানে আপনার ব্যতীত অন্য কেউ বাইনারি পড়তে পারে এবং এমন কোনও যোগাযোগের লিঙ্কে যেতে পারে না যা আপনি নিয়ন্ত্রণ করেন না।
শেষ পর্যন্ত, যদি বাইনারিগুলি আপনার নিয়ন্ত্রণের বাইরে থাকে তবে সেগুলির সমস্ত কিছুই আপনার নিয়ন্ত্রণের বাইরে। তেমনি, যদি কেউ ট্র্যাফিককে বাধা দিতে পারে তবে তারা API কী ( সম্ভবত আপনি এসএসএল ব্যবহার করে থাকলেও ) ক্যাপচার করতে পারেন ।
আমি এটি সম্পাদন করার দুটি প্রাথমিক উপায় দেখতে পাচ্ছি, উভয়ই আপনার নিযুক্ত অ্যাপ্লিকেশনটিতে আপনার ব্যক্তিগত এপিআই কী অন্তর্ভুক্ত করে না:
প্রতিটি স্থাপনার জন্য একটি অনন্য এপিআই কী পান
এটি বিক্রেতার সাথে কিছু অতিরিক্ত সম্পর্ক প্রয়োজন, যেখানে আপনি কীগুলি পেতে বা আপনার গ্রাহকদের চাবিগুলি পেতে পারেন।
গুগল ম্যাপস এপিআই ব্যবহার করে এমন পণ্যগুলির সাথে এটি আসলে বেশ সাধারণ। সফটওয়্যারটির নির্মাতাদের নিজস্ব কপি রয়েছে যা তারা অনুলিপি তৈরি করতে বা চালানোর সময় ব্যবহার করে, তবে তারা এটি সফ্টওয়্যারটিতে অন্তর্ভুক্ত করে না এবং পরিবর্তে, আপনাকে গুগলে যেতে এবং আপনার নিজস্ব এপিআই প্রাপ্ত ব্যবহারকারী হিসাবে সফ্টওয়্যার ইনস্টল করার অনুরোধ করে চাবি. গুগল ম্যাপস এপিআই কী ব্যবহার করতে সেট করার জন্য সফ্টওয়্যারটিতে কেবল একটি কনফিগারেশন বিকল্প রয়েছে।
প্রকৃতপক্ষে, এপিআই কীগুলি ইস্যু করা এমন অনেক বিক্রেতাদের আপনাকে এইভাবে কাজগুলি করা প্রয়োজন, যাতে আপনি যে কোনও উপায়ে ভুল পথেও যেতে পারেন এবং বিক্রেতার পরিষেবার শর্তাদি এবং আপনাকে কেবলমাত্র এটিই সমাধান হতে পারে use / অথবা কোনও আইনি চুক্তি আপনার সাথে থাকতে পারে।
একটি প্রক্সি ব্যবহার করুন
একটি প্রক্সি API সেট আপ করুন, যেখানে আপনার অ্যাপ্লিকেশনটি আপনার এপিআই (আপনার সার্ভারগুলিতে) কল করে এবং ফলস্বরূপ, আপনার এপিআই কী ব্যবহার করে বিক্রেতার এপিআই কল করে।
আপনার এপিআইতে অতিরিক্ত সুরক্ষা প্রয়োজন হতে পারে, উদাহরণস্বরূপ, কেবলমাত্র আপনার অ্যাপ্লিকেশন এটি ব্যবহার করছে তা নিশ্চিত করার জন্য কিছু। এটি দ্বারা করা যেতে পারে:
- কার্যকারিতাটিকে এত নির্দিষ্ট করে তোলা আপনার অ্যাপ্লিকেশন এটি ব্যবহার করতে পারে can
- আইপি শ্বেত তালিকা
- আপনার সার্ভারগুলির জন্য ইতিমধ্যে কিছু বিদ্যমান লাইসেন্সিং / অনুমোদন প্রক্রিয়া
- আপনার নিজস্ব API কী সিস্টেম যেখানে আপনি আপনার গ্রাহকদের কীগুলি ইস্যু করতে পারবেন
এখানে মনে রাখার বিষয়টি হ'ল আপনাকে এটি করার অনুমতি দেওয়া হতে পারে না। আপনার বিক্রেতার পরিষেবার শর্তাদি বা আইনী চুক্তি থাকতে পারে যা আপনাকে "একটিগ্রাহ্য পরিষেবা" বা প্রক্সি তৈরি করতে বাধা দেয়, তাই আপনার সাথে এটি পরীক্ষা করা দরকার।
দুর্ব্যবহার সামলানো
এমনকি যদি আপনার কীটি আপোস না হয়ে থাকে, এমনকি যদি আপনার কোনও গ্রাহক বিক্রেতাকে আপনার কীটি ব্লক করে তোলে এমন কিছু ঘটছে, হঠাৎ করে আপনার সমস্ত গ্রাহক অক্ষম হয়ে গেছে, এবং আপনার একমাত্র ফিক্স হ'ল অন্যকে আপডেট করা।
একইভাবে, আপনি যদি আপনার কোনও গ্রাহককে অবরুদ্ধ করতে চান (যেমন, তারা অর্থ প্রদান বন্ধ করে দিয়েছে, সফটওয়্যারটি পাইরেটেড করেছে ইত্যাদি) তবে আপনি অন্য সকলকে আপডেট না দিয়ে এবং কীটি অক্ষম না করে এটি করতে পারবেন না।
মুষ্টিমেয় ক্লায়েন্টদের বাইরে যেকোন কিছুর জন্য এটির রসদ দ্রুত অদলযোগ্য হয়ে উঠবে।
আপনি প্রক্সি হিসাবে কাজ করুন বা প্রতিটি ইনস্টলেশনের জন্য একটি অনন্য কী থাকুক না কেন, আপনি এই পরিস্থিতিগুলির যে কোনওটিকে তুলনামূলকভাবে সহজেই পরিচালনা করতে পারেন (এবং কারওর উপর খুব কম প্রভাব ফেলতে হবে)।
আপনার সফ্টওয়্যারটিতে এম্বেড থাকা অবস্থায় কীটি রক্ষা করার চেষ্টা করা অবশেষে একটি ব্যর্থ প্রচেষ্টা। আপনি যা করেন তা নির্বিশেষে, যে কোনও আক্রমণকারী বাইনারি, উত্স এবং / অথবা যোগাযোগ চ্যানেলে অ্যাক্সেস পেয়েছে এবং তারা কী পেতে যথেষ্ট সংকল্পবদ্ধ তা করতে সক্ষম হবে।
সুতরাং এটি এম্বেড করবেন না। "একমাত্র বিজয়ী পদক্ষেপ না খেলাই।"