سلام و خسته نباشید عرض می کنم خدمت تمامیه دوستان خوب و همراهان همیشگی سایت ویادولوپرز ، توی این آموزش قصد دارم نحوه امن کردن API Key در اندروید رو به شما آموزش بدم و شما یاد خواهید گرفت که چطور برای اپلیکیشن هایی که از API Key استفاده می کنند روشی رو پیش بگیرید که در اون روش ، از بابت امن بودن API Key خیالتون راحت باشه و هیچ دغدغه ای از لحاظ این که API Key تون به دست افراد شرور 👹👺😈 بیوفته نداشته باشید . اما قبل از این که بخوام روش امن کردن API Key در اندروید رو خدمت شما عرض کنم ، بهتره که یک نگاهی بندازم به تعریف API Key
قبل از این که بخوام صحبت هام رو شروع کنم ازتون میخوام که به دو کلمه API Key و API حتما توجه کنید
در واقع API Key یک قسمت از کد هست که به یک توسعه دهنده ، برنامه و یا کاربر اختصاص داده میشه ، و هر موقع یکی از این سه تا (توسعه دهنده ، برنامه و یا کاربر) بخواد از API استفاده کنه ، با استفاده از این کلید ، API رو فراخوانی می کنه . خلاصه بخوام بگم ، شما با استفاده از API Key می تونید از API استفاده کنید .
معمولا API Keyها یک رشته از کاراکترهای پشت سرهم هستند که یک معنی و مفهوم خاصی دارند ، که این معانی و مفاهیم توسط سازنده API برای API Key تعریف میشه .
یک نمونه مثال از API Key
1 |
IP84UTvzJKds1Jomx8gIbTXcEEJSUilGqpxCcmnx |
خیلی از ارائه دهنده های API (نمونه اش همین گوگلِ خودمون) ، کلیدهای API شون رو در اختیار توسعه دهنده ها و برنامه نویسا میزارن و به اون ها اجازه میدن که به شیوه ای مشابه به یوزرنیم و پسورد حساب کاربریشون عمل کنند .
API Key ها منحصر به فرد هستند و به همین خاطر ، خیلی از تولید کنندگان API ، از این ویژگی به عنوان یک لایه امنیتی استفاده می کنند . علی رغم سادگی و سهولت استفاده از کلید های API ، یک تهدیدی که اکثر برنامه نویس ها رو تهدید می کنه ، لو رفتن همین کلید API هست که می تونه به یک فاجعه تبدیل بشه .
برای امن کردن API Key در اندروید ، گوگل یک سری راهنمایی ها و پیشنهادهایی تحت عنوان (بهترین روش برای استفاده ایمن از کلیدهای API) داده که من ترجیح دادم همون ها رو براتون بگم .
وقتی شما از API Key ها در اپلیکیشن تون استفاده می کنید ، سعی کنید اون ها رو امن کنید . استفاده عمومی از مجوزهای شما ، ممکنه باعث آسیب رسوندن به حساب شما بشه . که به دنبال اون ، یکسری اتهامت غیرمنتظره ای رو برای شما رقم بزنه . پس پیشنهاد می کنیم که برای حفظ API Key روش های زیر رو دنبال کنید :
1 – کلید API را مستقیما در کد وارد نکنید : کلیدهایی که به صورت مستقیم در کد استفاده میشند ، میتونند به طور تصادفی در معرض عموم قرار بگیرند .
2 – کلیدهای API در فایل های داخل درخت منبع برنامه خود ذخیره نکنید : اگر کلید ها رو در فایل ذخیره کردید ، فایل ها رو در خارج از درخت منبع (پوشه های پروژه) برنامه تون نگه دارید تا مطمئن بشید که کلیدهای شما در سیستم کنترل کد منبع شما نیستند .
3 – کلیدهای API رو با استفاده از آدرس های IP، URL های ارجاع و برنامه های تلفن همراه که به آنها نیاز دارید محدود کنید : اگر از برنامه شما یک رنج IP خاص یا یک سری اپلیکیشن خاص داره استفاده می کنه ، با استفاه از صفحه Console Developer می تونید اون کلید رو محدود کنید .
4 – حذف کلیدهای API غیر ضروری : برای این که کمتر مورد حمله قرار بگیرید ، بهتره که کلیدهایی که ازشون استفاده ای نمی کنید رو حذف کنید .
5 – قبل از انتشار عمومی آنرا بررسی کنید : قبل از این که برنامه تون رو به صورت عمومی انتشار بدید ، حتما از این که کدتون شامل API Key و اطلاعات محرمانه دیگه ای نیست ، اطمینان حاصل کنید . و بعد برنامه رو منتشر کنید .
این هم از نکاتی که گوگل گفته بود که رعایت کنیم 🙂 اگر دقیق تر میخواید بدونید که چی گفته می تونید اینجا کلیک کنید و بیشتر راجع بهش بدونید .
امیدوارم آموزش امن کردن API Key در اندروید مفید واقع بشه
سلام آیا اگه API خالی رو به جای API KEY با این روش ایمن کنیم هم جواب میده و دیگه معلوم نمیشه ؟
سلام بر شما topplus
بله هیچ فرقی نداره که به چه صورت این کار رو انجام بدید
با یه decompiler ساده میشه به راحتی api key دسترسی پیدا کرد این که نشد امن کردن
سلام بر شما samadi.todar
این موردی که گفتید رو من بررسی کردم ، مشکلی نداشت و چیزی پیدا نمیشد
سلام و درود.
من این ویدیو رو تماشا کردم و بسیار لذت بردم.
از نکات مثبت این آموزش میشه گفت قدرت بیان و قدرت انتقال بالای مدرس بود که به خوبی اصل مطلب رو ادا میکرد و همچنین تسلط ایشون روی موضوع.
برای من بسیار کاربردی بود ازتون سپاس گذارم.
سلام بر شما Amin_mac
ممنون از شما دوست عزیز، خیلی خوشحالیم از این که آموزش هامون مورد پسند شما واقع شده 🙂
این آموزش و arr exportفایل ها شون خرابه
ممنون بابت آموزش های خوب و کاربردی
سلام بر شما [email protected]
لینک رو بررسی کردم، مشکلی نداشت
با تشکر
برای ثبت نظر باید ابتدا وارد اکانت خود شوید