📣 امنیت در b4a ( قسمت سوم )
💣 استفاده سهوی از 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
#بیسیک_فور_اندروید #سورس_کد #برنامه_نویسی #اندروید #برنامه_نویسی_اندروید #امنیت_در_پروژه
🗺 قاب عکس در b4a
🙏 سلام خدمت تمامی برنامه نویسان بیسیک فور اندروید
🌐 پروژه ای که میبینید، یک اپلیکیشن به منظور ساخت قاب عکس با عکس دلخواهتان است.
✅ ویژگی ها:
انتخاب عکس از گالری
ذخیره عکس در حافظه داخلی گوشی
بزرگنمایی عکس
انتخاب قاب عکس های مختلف
به نظر خود من مهمترین ویژگی این سورس کد، این است که شما یادمیگیرید که چگونه تصویر را به همراه تغییرات روی آن ذخیره کنید
✳️ سورس
https://zarinp.al/725250
تهیه و تنظیم
مرتضی صباغی
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
#frame_picture_application
#بیسیک_فور_اندروید #سورس_کد #برنامه_نویسی #اندروید #برنامه_نویسی_اندروید #سورس_قاب_عکس
⚡️ چک کردن متن در basic4android
🔥 بااستفاده از این سورس میتوانید چک کنید که کلمه یا جمله وارد شده در لیبل یا جعبه متن، فارسی است یا انگلیسی.
تهیه و تنظیم
مرتضی صباغی
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://zarinp.al/725250
اپلیکیشن ها
پرژوژت چه قدر می ارزه؟
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
#check_text_persian_or_english
#بیسیک_فور_اندروید #سورس_کد #برنامه_نویسی #اندروید #برنامه_نویسی_اندروید #سورس_چک_کردن_متن