campaign-Ghorban-to-Ghadir

دوره مجازی پرداخت درون برنامه ای (جلسه ۱۰): امنیت پرداخت درون برنامه ای



visibility  
mode_comment   ۲۰

مطالب مطرح شده در این جلسه عبارتند از :

  • معرفی روش های مختلف هک کردن اپ های دارای پرداخت درون برنامه ای
  • آموزش بهم ریخته کردن کدها
  • آموزش امن کردن محصولات درون برنامه ای مصرفی
  • آموزش امن کردن محصولات درون برنامه ای غیر مصرفی
info توجه

این مطلب یک جلسه از دوره پرداخت درون برنامه ای می باشد و برای مشاهده آن باید در دوره ثبت نام کنید.

ثبت نام در دوره پرداخت درون برنامه ای

comment دیدگاه کاربران
ali rahmanian replyپاسخ

سلام استاد چند جلسه دیگه از این اموزش باقی مونده؟

سعید شاهینی

سلام٬ این دوره به پایان رسیده. فقط قرار هست داخل توضیحات٬ مقاله آموزش xor کردن رشته ها اضافه بشه(برای امن کردن RSA).

Amirhossein Ashrafi replyپاسخ

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

سعید شاهینی

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

سید رضا replyپاسخ

با سلام
اندروید غیر از این دو دوره ، دوره ی دیگری هم قرار برگزار بشه؟؟؟

کیوان علی محمدی

سلام انشالله و به احتمال زیاد در تابستون و تیر ماه دوره برنامه آندروید وب سایت های وردپرسی رو خواهیم داشت.

شاهین امیرشقاقی replyپاسخ

با سلام
شما در ویدیو 10 گفته اید که اگر ذخیره تعداد سکه ها در سمت سرور ناموفق بود . سکه ها را در مخزنی ذخیره کنیم تا سری بعدی بتوانیم استفاده کنیم . اما به این مورد اشاره نکردید که چطور ذخیره کنیم !
اگر با shared preferences یا هر چیز دیگر ذخیره کنیم ، هکرها می توانند با دسترسی به این مخرن ، تعداد نامحدودی سکه درون مخزن بگذارند 😡 ، و ما این سکه ها را به سمت سرور بفرستیم و با سرور هم دچار مشکل شود ! 😥
چه راه حلی برای این مشکل دارید ؟

سعید شاهینی

سلام. یه راه حلی که می شه ازش استفاده کرد اینه که قبل از اینکه اطلاعات خریدهای انجام شده را به سمت سرور بفرستیم، اونا رو با کافه بازار چک کنیم و ببینیم که موفق هستند یا خیر. برای پیاده سازی این روش شما باید از sqlite استفاده کنید و جدولی داشته باشید که اطلاعات خرید کاربر رو کامل داشته باشه . هر زمان که اطلاعات خرید سمت سرور ارسال شد و موفقیت آمیز ثبت شد، اون رو از جدول sqlite حذف می کنید. در واقع دیتابیس شما سمت اپلیکیشن فقط باید شامل خرید هایی باشد که سمت سرور ثبت نشده اند. اصطلاحا در حالت Pending هستند. بنابراین وقتی سمت سرور ثبت شدند باید از دیتابیس حذف شوند.

نادر شعبانی replyپاسخ

سلام آفای شاهینی خدا قوت.لطفا در این دوره درباره این موضوع هم یک آموزش بدهید با تشکر.
نحوهٔ بررسی وضعیت لاگین کاربر در ادامه آورده شده است. با استفاده از این امکان بازار می‌توانید بفهمید که کاربر وارد حساب کاربری‌اش در بازار شده است یا خیر.
http://developers.cafebazaar.ir/fa/docs/bazaar-services-login-check/

سعید شاهینی

سلام وقت بخیر، خیلی ممنونم، متاسفانه در حال حاضر خیلی مطالب دیگه هستن که مهم ترن و در اولویت هستن از طرف دیگه کافه بازار خودش خوب آموزش داده و خودتون راحت می تونید یاد بگیرید.

نادر شعبانی replyپاسخ

ممنون مشکلم حل شد. توضیحاتتون خیلی خوبه در ویدیوهای آموزشی.

محمد خرّم replyپاسخ

با سلام خدمت استاد محترم جناب آقای شاهینی.
بنده دوره آموزش را خریداری کردم که بسیار عالی و کامل و پربار بود.
فقط 2 تا سوال داشتم:
1. چجوری میشه چک کرد که QueryInventory در حال inProgress نباشه. (گاهی وقت ها با کلیک بر روی گزینه UPGRADE ناگهان اپ کرش میکنه و خطای is in progress میده)
2. در ابتدای ساخت نرم افزار iWallpaper فرمودید که مبهم سازی کدها شامل رشته ها نمیشه و در بخش امنیت قرار شد نحوه ی امن کردن RSA_KEY رو بگید. اما در جلسه آخر که بحث امنیت بود در این مورد اشاره ای نکردید.
ایمیل بنده جهت ارتباط: karafzar.apps@gmail.com

سعید شاهینی

سلام، وقت شما بخیر، مورد دوم سوال شما رو آموزش دادم در یک مقاله اما متاسفانه سایتم رو وقت نکردم ادامه اش بدم و بستمش اما پروژه اش رو داخل گیت هابم دارم به این آدرس:
https://github.com/saeedsh92/XorStringSample

مورد اول هم داخل Documentation خود کافه بازار این ارور رو جستجو کنید.

محمد خرّم replyپاسخ

با سلام خدمت استاد محترم جناب آقای شاهینی.
پیرو سوال قبلیم جهت مبهم کردن RSA_KEY، میشه RSA_KEY رو سمت سرور ذخیره کرد و در ابتدای ورود به نرم افزار با یه Request اون رو از سمت سرور گرفت؟؟
اگه زحمتی نیست ایمیلتونو بزارید. ممکنه سوال ها همراه با Attach فایل باشه.
با تشکر.

سعید شاهینی

سلام، بله معلومه که می شه ولی خب کسی اگه end point اون رو پیدا کنه RSA رو راحت بدست میاره، متاسفانه فقط سوالات دیگه در سایت جواب داده می شه

محمد خرّم replyپاسخ

سلام مجدد خدمت استاد محترم.
میشه RSA_KEY رو سمت سرور ذخیره کرد و سپس در ابتدای نرم افزار با یه Request از سمت سرور دریافتش کرد.

محمد خرّم replyپاسخ

سلام مجدد خدمت استاد محترم.
سوال اول: در نرم افزار iMusic که پرداخت آن بصورت اشتراکی است، آیا میشه از سمت سرور کافه بازار تعداد روزهای باقی مانده از اشتراک را دریافت کرد؟؟ (اگر میشه لطفا توضیح بدید به چه صورت)

سوال دوم: پس از خرید اشتراک از نرم افزار iMusic، فرضا 17روز مانده به اتمام اشتراک ماهیانه، آیا کاربر میتونه قبل از اینکه اشتراکش به اتمام برسه، اشتراک جدیدی خریداری کنه؟؟ (یعنی فرضا 17روز اشتراک داره و یک ماه دیگه بخره و بشه 47روز)

سوال سوم: دقیقا سوال دوم منتها در مورد خرید های مصرفی. (یعنی فرضا کاربر 50 سکه داره و 50سکه دیگه بخره و بشه 100 سکه، آیا اینچنین حالتی امکان داره و یا نه، کاربر حتما باید تمام سکه هاشو مصرف کنه سپس خرید سکه انجام بده؟)

سعید شاهینی

سلام، با توجه به تغییرات داخل مستندات کافه بازار، بهتره از سایت خودشون استفاده کنید که کامل توضیح دادن:
https://cafebazaar.ir/developers/docs/iab/implementation/?l=fa

نادر شعبانی replyپاسخ

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

سعید شاهینی

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

ارسال نظرات

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