Web_programming
1.14K subscribers
354 photos
14 videos
125 files
1.22K links
Sharif web programming
If you have any questions, please feel free to ask(@yumcoder)
Download Telegram
فرض کنید در یک برنامه از کاربر نام و رمز را دریافت می کنید و در صورت درستی وارد برنامه می شوید. مراحل این کار معمولا بدین شکل است:
۱- نام کاربری را وارد کنید
۲- رمز عبور را وارد کنید
۳- رمز وارد شده توسط کاربر را رمزنگاری میکنید
۴- حاصل رمزنگاری مرحله ۳ را با رمز ذخیره شده و رمزنگاری شده (درون پایگاه داده و یا هر جایی که فیلا دخیره کرده اید) مقایسه می کنید و اگر درست بود ادامه ....
۴- اگر نادرست بود به تعداد محدودی اجازه وارد کردن رمز را می دهید و مثلا پس از ۳ تلاش برای مدت ۱ ساعت در لیست سیاه قرار می گیرد
و....

این الگوریتم نیز در دو شرایط ممکن است مخاطرات امنیتی داشته باشد! و بهتر است پس از دریافت رمز از کاربر بدین شکل عمل کنید
۱- مانند قبل
۲- مانند قیل
۳- رمزنگاری رمز گرفته شده در مرحله دو
۴- مرحله بسیار مهم —> پاک کردن رمز گرفته شده در مرحله دو از حافظه
۵- ادامه مانند قبل

چرا؟
۱- ممکن است برنامه crash کند و یک dump فایل برای ان بوجود آید و رمز وارد شده توسط کاربر بدین شکل expose میشود
۲- در شرایط swap کردن توسط سیستم عامل امکان expose شدن رمز کاربر نیز وجود دارد

حالا واقعا باید اینقدر سخت بگیریم؟ بله :)

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

https://telegra.ph/Erase-the-unencrypted-password-from-memory-11-27
وقتی داده‌ها به خوبی می‌توانند حرف بزنند!
روز دانشجو مبارک 😘
Forwarded from mobile_programming
دانشجویان عزیر ترم‌های گذشته، در صورت تمایل به TA شدن برای درس موبایل لطفا یک پیغام برای من ارسال کنید

در ترم آینده تلاش خواهد شد بخش iOS کمی پررنگ تر شود نسبت به دو ترم گذشته و وزنی تقریبا برابر بین دو بخش بوجود آید

در صورت تمایل مشخصات و علاقه مندی خودتان را برایم ارسال کنید

نام: ...
تمایل به مشارکت در بخش اندروید/iOS و یا هر دو
سوال تا چه حجمی از داده ها بر روی mysql و یا postgres بودن؟
بعد ما در ایران درباره cassandra یک آشنایی مقدماتی پیدا میکنیم و همه کارها را میخواهیم با آن انجام دهیم.
میتوانید درباره اینستاگرام نیز در وبلاگش بخوانید که انها هم اول postgres بودن و بعد رفتند سراغ cassandra با موتور rockdb

نکته انکه در هر مرحله از رشد نرم افزار از ابزار مناسب استفاده کرده اند :)

این خوب است و آن بد است معنی ندارد. در این شرایط و با در نظر گرفتن چند گام جلوتر این خوب است و آن دیگر انتخاب احتمالا خیلی مناسب این شرایط نیست، شاید عبارت بهتری باشد
Forwarded from mobile_programming
@contest
در این کانال میتوانید در مسابقات برنامه نویسی و... تلگرام شرکت کنید