رفتن به مطلب
جامعه‌ی برنامه‌نویسان مُدرن ایران
  • 0
amirb

پیاده سازی ورود خودکار با Access Token در Qml

سوال

با سلام و عرض ادب.

من یک rest api دارم که پس از لاگین به من یک access token ارسال می کنه که من می تونم برای درخواست های بعدی از اون استفاده کنم.

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

اگر بخوام یوزر و پسورد یا access token رو در اپلیکیشن ذخیره کنم احتمال decompile یا چیزی شبیه به این هست که موجب افشا شدن این اطلاعات میشه. (آیا Qml Settings امنیت این کار رو تامین می کنه؟)

لطفا راه کار رو بفرمایید.

تشکر

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


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

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

پست های پیشنهاد شده

  • 0

دوستان راهنمایی کنند. فکر می کنم سوال واضح باشه.

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0
ارسال شده در (ویرایش شده)

سلام. معمولا token رو اصلا توی برنامه ذخیره نمیکنند. وقتی که برنامه باز میشود با یوزر نیم و پسوردی که کاربر دارد یک درخواست به سرور ارسال میشود و سپس سرور token را در جواب میفرسته و در دفعات بعدی کلاینت با اون token ارسال رد و بد میشه. در مورد امنیت QML لازم به ذکر هست که با فعال بودن ویژگی کامپایل کیوت کوئیک کد‌های شما در نهایت به باینری تبدیل میشه.البته این ویژگی از کیوت 5.11 به بعد رایگان شده است و در دسترس هست.
https://doc.qt.io/QtQuickCompiler/
 

 

ویرایش شده در توسط miladrahbari
اصلاح

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0
در در 6 بهمن 1397 در 22:09، amirb گفته است :

با سلام و عرض ادب.

من یک rest api دارم که پس از لاگین به من یک access token ارسال می کنه که من می تونم برای درخواست های بعدی از اون استفاده کنم.

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

اگر بخوام یوزر و پسورد یا access token رو در اپلیکیشن ذخیره کنم احتمال decompile یا چیزی شبیه به این هست که موجب افشا شدن این اطلاعات میشه. (آیا Qml Settings امنیت این کار رو تامین می کنه؟)

لطفا راه کار رو بفرمایید.

تشکر

سلام،

موقع استفاده از QSettings شما وقتی منبعی رو برای اون در نظر می‌گیرید بهتره توجه داشته باشید که در صورت نیاز در قالب‌های xml یا برفرض JSon و ini اطلاعات رو ذخیره می‌کنید. اطلاعات فوق معمولاً درسیستم‌عامل ویندوز در بخش رجیستری، و در پلتفرم‌های مک‌او‌اِس و آی‌او‌اس در لیست از فایل های مربوط به خودشان ذخیره سازی می‌شوند. در استاندارد‌های دیگر این اطلاعات در فایل ini ذخیره سازی می‌شوند. بنابراین دسترسی به این موارد ممکن است بسیار راحت باشد.

پیشنهاد این هست اطلاعات مربوط به Session‌ها را در جدولی از دیتابیس ذخیره سازی کنید (این کار می‌تونه با کمی طراحی بر روی نوع ساختار مطمئن سازی شود) برای مثال توکنی که دریافت می‌کنید را در جدولی به نام sessions ذخیره کنید که همراه با مقادیر زمان و تاریخ اعتبار آن اعتبار سنجی می‌شود. با این روش نه تنها می‌تونید به لیستی از سوابق ورودی‌ها دسترسی داشته باشید، بلکه می‌تونید آن‌ها را به خوبی مدیریت کنید.

شما می‌توانید رشته‌ای که به عنوان توکن دریافت می‌کنید را تحت الگو‌های مطمئنی رمزنگاری کنید که ترکیبی از زمان، دستگاه، آدرس آی‌پی و ... باشد. در واقع چیزی شبیه به User-Agent که حالا با زمان و اعتبار مشخصی قابل ارزیابی خواهد بود.

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


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

با توجه به این که دیتابیس نیز به راحتی قابل استخراج هست و اگر بخوام روی توکن رمزگذاری هم انجام بدم بازم با استخراج کد qml الگوریتم قابل مشاهده هست فکر کنم استفاده از qml compiler راه حل مناسب باشه.

سوالی که باقی می مونه اینه که با استفاده از qml compiler اطلاعات ذخیره شده در qsettings هم به باینری تبدیل میشه یا خیر؟

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


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

برای ارسال دیدگاه یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

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

ایجاد یک حساب کاربری

برای حساب کاربری جدید در سایت ما ثبت نام کنید. عضویت خیلی ساده است !

ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید

ورود به حساب کاربری

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

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

×