رفتن به مطلب
  • 0

امیرحسین قاسمی

سوال

سلام و عرض ادب خدمت دوستان عزیز،

خواهش می کنم راهنمایی کنید.

من یک بازی آنلاین با B4a ساخته ام و باید سکه کاربران در دیتابیس آنلاینی ذخیره بشه(چون اگه سکه بخره بعد برنامه پاک بشه سکه اش بمونه و حق کاربر ضایع نشه)

خب؟

الان مثلا کاربر از فروشگاه وقتی سکه میخره یا سکه رو مصرف میکنه یا اصلا اولین بار وارد برنامه میشه تعداد سکه های کاربر میره توی دیتابیس و ذخیره میشه. بنده فایل PHP رو نوشتم و توی هاست قرار دادم و با کد زیر از بیسیک مقدار سکه رو میفرستم.

dim send As HttpJob
dim username As [email protected]'یوزر نیم کاربر
dim insert_coin=3500'مقدار سکه ارسالی
send.initialize("send",Me)
send.PostString("https://example/Game/insert_record.php" , "username=" & username & "&user_coin=" & insert_coin)

همه چی عالیه و درست هم انجام میشه...

:zoor:فقط مشکل اینجاست که یک بنده خدایی بیاد برنامه من رو حالا با استفاده از سایت های موجود برای دیکامپایل، دیکامپایل کنه و به این لینکی که بالا وارد کردم دسترسی داشته باشه و خودش بره یک پروژه تستی با b4a ایجاد کنه و دقیقا کد بالارو کپی پیست کنه توی اکتویتی خودش و مثلا برای خودش صدهاهزار سکه بفرسته و توی دیتابیس ذخیره بشه.(یعنی یوز خودش رو توی متغیر قرار بده و متغیر insert_coin برابر با مثلا 9999999قرار بده.

خب این یعنی هک!! که خیلی هم راحت انجام میشه.

شما به من بگید چکار کنم که هیچ کسی نتونه به هیچ روشی این کارو انجام بده(یعنی نه بتونه به نفع خودش برنامه رو هک کنه و نه بتونه اطلاعات ذخیره شده دیگر کاربران رو دستکاری کنه)

کامل راهنمایی کنید که خیال همه راحت بشه مخصوصا من!!! که از امنیت برنامم مطمئن باشم:cool:

ممنون میشم اگر راهنمایی کنید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

8 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

در ۱ ساعت قبل، امیرحسین قاسمی گفته است :

خودش بره یک پروژه تستی با b4a ایجاد کنه و دقیقا کد بالارو کپی پیست کنه توی اکتویتی خودش و مثلا برای خودش صدهاهزار سکه بفرسته و توی دیتابیس ذخیره بشه

اصلا نیاز به پروژه تستی نیست. خیلی از سایتها و برنامه ها مثل Post man، این کار رو رایگان و بدون نیاز به هیچ چیزی انجام میدن:crazy:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 2 دقیقه قبل، Mr.Man گفته است :

اصلا نیاز به پروژه تستی نیست. خیلی از سایتها و برنامه ها مثل Post man، این کار رو رایگان و بدون نیاز به هیچ چیزی انجام میدن:crazy:

خب چکار کنیم؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

اگر پروژه رو با obfuscated کامپایل کنید، این مشکل تا حدودی برطرف میشه. با اینکار متغیرهایی که میسازید، تغییر نام داده میشن. مثلاً username میشه vvvv1. در ضمن برنامه که دیکامپایل میشه، به زبون جاوا برمیگرده که دیگه خیلی خوندنش رو سخت میکنه. البته راه های دیگه هم هست مثل رمزگذاری رو دیتابیس که سرچ کنید پیدا میشه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در در 7 اسفند 1399 در 20:25، امیرحسین قاسمی گفته است :

 

این قضیه به این سادگیا حل نمیشه دوست عزیز.من با بچه های تیم سرورمون در میون میذارم و ببینم به چه نتیجه ای میرسه خدمتتون اعلام میکنم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 6 ساعت قبل، محمدرضا شاهپیری گفته است :

این قضیه به این سادگیا حل نمیشه دوست عزیز.من با بچه های تیم سرورمون در میون میذارم و ببینم به چه نتیجه ای میرسه خدمتتون اعلام میکنم

واقعا از زحمات تون صمیمانه متشکرم.♥

منتظر هستم...

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 6 ساعت قبل، Mr.Man گفته است :

نتیجه معلوم نشد؟؟؟؟

دوست عزیز همین الان که دارم این پیام رو مینویسم روی پروژه ام کار میکنم. دارم کلا پروژه آنلاینم رو از ترس جعل و هک تبدیل به پروژه آفلاین می کنم.

متاسفانه به افراد زیادی رجوع کردم، به زبان انگلیسی پژوهش کردم اما باز نتیجه قانع کننده ای  نیافتم.

امیدوارم در آینده نزدیک برقراری امنیت کامل برنامه آنلاین رو یاد بگیرم و اینجا هم برای همه به اشتراک بگذارم.:53:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در در 7 اسفند 1399 در 20:25، امیرحسین قاسمی گفته است :

 

با سلام و درود

تا جایی ک من اطلاعا دارم برای بازی های آنلاین از json استفاده میشه

حالا اینکه json چیه من خودمم اطلاع ندارم:crazy: ولی توی اینترنت راجبش زیاد مطلب هست سرچ بزینین

 

موفق باشید:53:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...