وبلاگ

روش های احراز هویت در وب

روش های احراز هویت در وب

تمام وب سایت ها و اپلیکیشن ها نیاز جدی به احراز هویتی امن و ایمن و قابل اطمینان دارند. روش های مختلفی برای این موضوع وجود دارد برخی تنها در فضای وب مورد استفاده هستند و برخی بصورت Cross Platform هم قابل استفاده هستند.

احراز هویت مبتنی بر Session

درواقع Session موجودی است که به ازای اتصال هر مرورگر به سرور وب ایجاد میشود. هرکدام از سشن ها یک شناسه دارند و میتوانند در دل خود مقداری را ذخیره کنند. ما میتوانیم مشخصات کاربری که لاگین شده (که اصطلاحا به آن User Credentials میگوییم) را در سشن ذخیره کنیم. آنچه ذخیره میشود باید محافظت شده باشد وگرنه هرکس میتواند هویت کاربران را جعل کند.مثلا در سشن ذخیره شده User: reza,phone:099999999 و چون این اطلاعات در سمت مرورگر ذخیره شده برنامه نویس کنترل کاملی ندارد، هرکس میتوانید نام کاربری که در اینجا reza هست را به هر اسم دیگری تغییر دهد! پس در این شرایط اپلیکیشن وب باید تمام سشن های خود را بصورت رمزشده و غیرقابل حدس در مرورگر کاربر ذخیره کند تا امکان سرقت سشن یا Session Hijack از بین برود. تمامی فریمورک های وب امکان تعریف کلید برای رمز کردن سشن را دارند که در flask به آن Secret_key میگوییم.

اما آیا رمز کردن به تنهایی محتویات User Credential که در سشن ذخیره میشود را امن میکند؟ پاسخ این است خیر رمز کردن محتوا و ذخیره آن در سشن امن نمیشود گرچه مسیر را برای هکر سخت میکند!! مسیر برای هکر بشدت سخت شده اما چون در مرورگر کاربر ذخیره سازی انجام شده امکان شکستن رمز وجود دارد. با وجود پردازنده های قوی امروزی هکر میتواند ظرف چند روز تمرکز روی یک مقدار رمز شده، آنرا بشکند. احتمالا شما هم نمیتوانید مداوم کلید رمز یا همان Secret_key را مداوم عوض کنید هرچند که توصیه میشود در بازه های 40 روزه تغییر کند اما این موضوع نمیتواند مداوم انجام شود. پس رمز کردن هویت کاربر امری لازم است اما نمیتواند امنیت را برقرار کند چون صددرصد در مرورگر کاربر ذخیره شده و دسترسی به آن ممکن است.

راهکار HTTP Only

از راهکار HTTP Only میتوان برای راهکار تکمیلی در امن سازی سشن ها استفاده کرد. به این معنا که تنها Backend امکان دسترسی به سشن را داشته باشد، درواقع اجازه دسترسی از سمت کد های جاوااسکریپت بسته خواهد شد. این امر مطلوب است اما همیشه قابل پیاده سازی نیست. گاهی در اپلیکیشن های API Base و مبتنی بر AJAX الزام به دسترسی از مرورگر و جاوا اسکریپت به سشن وجود دارد.

دیدگاه خود را اینجا بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

فیلدهای دلخواه برای نمایش را انتخاب کنید. سایر فیلدها مخفی می شود. برای ترتیب دلخواه فیلدها را به محل دلخواه بکشید و رها کنید.
  • عكس
  • شناسه محصول
  • امتیاز
  • قیمت
  • موجودی
  • موجودی
  • افزودن به سبد خرید
  • توضیحات
  • محتوا
  • وزن
  • ابعاد
  • اطلاعات تکمیلی
برای مخفی شدن نوار مقایسه، بیرون از کادر کلیک کنید
مقایسه