MR.B4A 184 ارسال شده در 30 شهریور اشتراک گذاری ارسال شده در 30 شهریور برای دریافت سورس و کتابخانه های موردنیاز b4a، در کانال ما عضو شوید کانال هرروز یا یک روز درمیون با سورس های رایگان b4a بروزرسانی میشود https://t.me/programmingwithb4a https://splus.ir/basic4android_langueg https://eitaa.com/basic4androidlan 💣 استفاده سهوی از HardCoding 🔐 در امنیت اطلاعات، واژهی "hardcoded" (هاردکد شده) به این معناست که اطلاعات حساس یا مقادیر مشخصی بهصورت ثابت و مستقیم در کد برنامه نوشته شدهاند، به جای اینکه از منابع امنتری مانند فایلهای پیکربندی رمزگذاریشده، محیط اجرا (environment variables) یا سیستمهای مدیریت کلید استفاده شوند. ✳️ به طور خلاصه بخوام بگم، یعنی این که برنامه نویس بیاید و مقادیر را طوری بنویسد که به راحتی قابل خواندن باشد. مثلا رمز عبورها و کلید های اصلی بعد از مهندسی معکوس پروژه، به راحتی قابل دسترس باشند. 🏮 به طور کلی اطلاعاتی که نباید hardcoded باشند: رمزهای عبور کلیدهای API توکنهای دسترسی (Access Tokens) آدرس سرورها یا پایگاه دادهها اطلاعات شخصی کاربران در این موارد باید دقت کنید که مقادیرشان به راحتی قابل دسترس نباشند. اما چگونه؟! با مثال زیر متوجه این چگونگی میشوید. 🌐 مثال در بیسیک فور اندروید 🟥 کد ناامن Sub Process_Globals Private serverUrl As String = "https://myserver.com/api" Private apiKey As String = "12345-ABCDE-SECRET-KEY" End Sub Sub SendRequest Dim job As HttpJob job.Initialize("Job1", Me) job.Download2(serverUrl, Array As String("apikey", apiKey)) End Sub در اینجا، apiKey و serverUrl بهصورت hardcoded توی کد نوشته شدن. اگه کسی فایل APK رو decompile کنه، بهراحتی میتونه این اطلاعات رو استخراج کنه. ✅ حالا اگه همینو بخوایم امنش کنیم به این شکل درمیاد: Sub Process_Globals Private serverUrl As String = "https://myserver.com/api" Private apiKey As String End Sub Sub Globals End Sub Sub Activity_Create(FirstTime As Boolean) If File.Exists(File.DirInternal, "config.dat") Then Dim encrypted As String = File.ReadString(File.DirInternal, "config.dat") apiKey = DecryptKey(encrypted) Else Log("API key file not found!") ToastMessageShow("Configuration error", True) Return End If SendRequest End Sub Sub SendRequest Dim job As HttpJob job.Initialize("Job1", Me) job.Download2(serverUrl, Array As String("apikey", apiKey)) End Sub Sub DecryptKey(encrypted As String) As String Dim su As StringUtils Dim data() As Byte = su.DecodeBase64(encrypted) Return BytesToString(data, 0, data.Length, "UTF8") End Sub 🔰 حالا چند نکته امنیتی که اگر برنامه نویس رعایت کنه، بهتره: برای رمزنگاری کلید در سمت توسعهدهنده، از ابزارهایی مثل Base64 encoder یا الگوریتمهای AES استفاده کن. Base64 فقط پنهانسازی هست نه رمزنگاری واقعی! برای تولید نسخه نهایی اپ، بهتره از کتابخانه رمزنگاری قوی مثل Encryption در B4A استفاده کنی. محل ذخیرهسازی (File.DirInternal) خصوصی برنامهست و کاربران عادی نمیتونن بهش دسترسی داشته باشن، ولی برای امنیت واقعی بهتره با رمزگذاری همراه باشه. تهیه و تنظیم مرتضی صباغی MR.B4A 🛑 محصولات MR.B4A پرژوژت چه قدر می ارزه؟ https://zarinp.al/701185 ضبط صدا https://zarinp.al/602356 ابزارهای انیمیشنی https://zarinp.al/582228 کتاب پیشرفته https://zarinp.al/581211 کیوآرکد اسکنر https://zarinp.al/724103 اپلیکیشن ها پرژوژت چه قدر می ارزه؟ https://cafebazaar.ir/app/ir.project.cost.estimation.mr.b4a شماره ساز حرفه ای https://cafebazaar.ir/app/ir.number.generator.mr.b4a #b4a #basic4android #source_code #programming #android #b4x #MR_B4A #security_in_project #بیسیک_فور_اندروید #سورس_کد #برنامه_نویسی #اندروید #برنامه_نویسی_اندروید #امنیت_در_پروژه 1 نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
ارسالهای توصیه شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .
توجه: strong> مطلب ارسالی شما پس از تایید مدیریت برای همه قابل رویت خواهد بود.