من توی پروژم برای کارهایی که ادمین میکنه، مثل حذف اکانتها، تایید اکانت، Ban کردن و Unban کردن کاربران و غیره، نیاز به ورود پسورد نذاشتم. ولی تازگی به ذهنم رسید که از نظر اصولیش لازمه برای انجام چنین کارهای مهمی نیاز به ورود مجدد پسورد باشه (مثل عملیات هایی مثل تغییر ایمیل و پسورد که نیاز به ورود پسورد دارن) و نباید صرفا روی لاگین بودن کلاینت اتکا کرد.
درسته نه؟
ولی اینم که ادمین برای هرکدوم از این کارها بخواد زرت و زرت پسورد وارد کنه شاید در بعضی موارد آزاردهنده باشه و لزومی هم نداشته باشه.
بنابراین یه ایده ای بنظرم رسید!
میگم چطوره وقتی پسورد رو برای اینطور کارها وارد میکنه تا یک زمان کوتاهی سیستم این رو بخاطر بسپاره و در اون مدت نیازی به ورود مجدد پسورد برای انجام عملیات جدید نباشه. مثلا چطوره برای 5 دقیقه.
البته طبیعتا برنامهء من که آخر تنظیم و انعطاف هست این مورد رو هم توش قابل کانفیگ میذارم که بشه راحت تغییرش داد. حتی اگر لازم بشه میتونیم این امکان رو برای ادمین موقع وارد کردن پسورد هم بذاریم که خودش تعیین کنه (از میان چند گزینه که توی فایلهای کانفیگ برنامه هست) که زمان عدم نیاز به ورود مجدد پسورد چقدر باشه. اینطور مثلا اگر طرف توی خونش باشه و خیالش از بابت امنیت راحت باشه میتونه این زمان رو بیشتر تعیین کنه. البته این قضیه از نظر امنیتی بنظرم چندان جالب نمیاد چون احتمالا سرسری گرفته میشه و بخاطر تنبلی زمان رو همیشه یا در اغلب موارد روی زیاد تنظیم میکنن و شاید همون بهتر باشه که این گزینه فقط در فایل کانفیگ قابل تنظیم باشه.
درکل هم اصلا اینکه اصولا بخاطرسپاری برای چنین مواردی وجود داشته باشه شاید برای امنیت جالب نباشه به دلایلی!
سوء استفاده که لزوما فقط به این سناریو که یک سیستم لاگین زیر دست کس دیگری بیفته محدود نیست. هست؟
البته میتونم این سیستم بخاطرسپاری رو هم قابل فعال و غیرفعال کردن بذارم در برنامه.
اینکه برنامه قابلیت کانفیگ بالایی داشته باشه خوبیش اینه دیگه
یعنی میتونی بعدا اگر فهمیدی چیز اشتباهی بوده براحتی با تغییر یک کانفیگ غیرفعالش کنی. یا اینکه هرکس با توجه به شرایط و سناریوهای خودش ممکنه چنین ویژگی ای رو بخواد یا نخواد میتونه کانفیگ کنه.