PDA

View Full Version : سوال: استفاده از Session و مسائل امنیتی



fa_karoon
پنج شنبه 29 بهمن 1388, 01:35 صبح
من در سایتم وقتی کاربر Login می کنه Role مربوط به اون رو از پایگاه می خونم و در یک Session نگهداری می کنم و از اون برای یکسری حق دسترسی ها استفاده می کنم حال به نظر شما کار خطرناکی ست اگر هست برای امن شدن سایتم چه روشی رو به کار ببرم؟

moharrami
پنج شنبه 29 بهمن 1388, 10:44 صبح
استفاده از session کار خطرناکی نیست ولی باید به این نکات توجه کنی :
1-اگر کاربر از دکمه back استفاده کنه session برنمیگرده پس ممکنه role واقعی اونی نباشه که تو session هست
2-process های asp.net ممکن توسط IIS از بین برن . پس ممکن session هم از بین بره
3-اگه کاربر یه زمان مشخصی رو با سایت کار نکنه زمان session تموم میشه یا در اصلاح Time Out l میشه. البته شاید این خوب باشه. زمان پیش فرض 20 دقیقه هست.
4-اگه از session استفاده میکنی تمام object هات باید serializable باشند
5-اگه کاربر دوتا پنجره از مرورگر بازکنه و تو هرکدوم جدا وارد سایتت بشه اون وقت به احتمال زیاد session ها قاطی میشن

Chabok
پنج شنبه 29 بهمن 1388, 12:52 عصر
1-اگر کاربر از دکمه back استفاده کنه session برنمیگرده پس ممکنه role واقعی اونی نباشه که تو session هست

یک باور غلطی که در مورد دکمه Back هست اینه که دوستان فکر میکنند اگر کسی Logout کرد و بعد توسط کلید back مرورگر به صفحه قبلی که مثلاً کنترل پنل بوده باز گرده کاربر میتونه شیطنت بکنه و ...

در صورتی که هنگام زدن کلید back مرورگر ، مقادیر قبلی موجود در حافظه اش را نمایش می دهد .

یعنی در اصل هیچ ارتباط مجددی با سرور برقرار نمی شود (در این حالت)

به همین دلیل صفحه ای که در مقابل کاربر است تنها یک سری کد html سمت کاربر است و هیچ کارایی ندارد .
به همین دلیل در صورت استفاده از این امکانات به دلیل عدم وجود session معتبر در سرور این عملیات ناکام خواهد ماند .
(در صورتی که در سرور وجود session چک شود که اصولاً در تمام بخش های مدیریتی چک می شود)

پس لازم نیست نگران زدن کلید back توسط کاربر باشید .
موفق باشید.

fa_karoon
جمعه 30 بهمن 1388, 00:27 صبح
ابتدا از همه دوستانی که جواب دادن ممنون بعد اینکه یعنی چی تمام object هام باید serializable باشند؟
و یه سوال دیگه اینکه برای مشکل اینکه اگه اگه کاربر دوتا پنجره از مرورگر بازکنه و تو هرکدوم جدا وارد سایتت بشه اون وقت به احتمال زیاد session ها قاطی میشن برای رفع این مشکل چه کار باید کرد؟
و سوال سوم اینکه می شه یه کاری کرد که دیگران نتونند به مقدار Session من دسترسی داشته باشند مثل به رمز در آوردن اون یا .....