PDA

View Full Version : سوال: عمر یک session



khadem1386
سه شنبه 02 خرداد 1391, 13:33 عصر
با سلام
عمر یک session فقط به این بستگی داره که توی timeout یک زمانی را مشخص کنیم و مثلا بگوییم تا 10 دقیقه این یعنی اگر ویزیتور تا ده دقیقه وارد صفحه جدید نشد. کلا session هایش از داخل browser پاک می شود. و باید دوباره لاگین کنه.

اما یک نکته جدید را می خواهم بپرسم:
در نظر بگیرید که کسی یک صفحه خودش را ببنده ولی logut نکه و از طرفی هنوز مونده که timeout هم تمام بشه اگر دوباره صفحه مورد نظر را باز کنه مشکل برخورد نمی کنه و همچنان در سیستم لاگ این خواهد بود.

توی یک سیستم بانکی امنیتی دیدم که هر بار که صفحه بانک را کامل می بندم دیگر خود به خود لاگ آت هم می شه.

چطور می توانید کار بکنید که وقتی visitor ویزیتورbrowseer خودش را ببنده همه session ها را پاک کنیم؟ و لازم بشه که دوباره لاگ این کنه؟

مرسی از اساتید


مرسی از اساتید.

Saman Hashemi
سه شنبه 02 خرداد 1391, 14:18 عصر
شما مطمئنی اون بانک از session برای موارد امنیتی استفاده میکرده؟شاید از شیوه ای دیگه مثل ممبرشیب استفاده میکرده اونم به همین صورت است که اگه صفحه ببندی باید دوباره لاگین کنی...!

khadem1386
چهارشنبه 03 خرداد 1391, 11:18 صبح
سوالی که هست اینکه: ممبر شیب مگر اطلاعاتش را چطوری ذخیره می کنه؟ مگر جایی غیر از session یا کوکی توی client side شما دارید. تازه همان session ها هم نوعی کوکی بحساب می یاد. یعنی اگر یک نفر در browser اش پذیرش کوکی های خودش را قفل کند سیستم session هم غیر فعال میشه.

Saman Hashemi
چهارشنبه 03 خرداد 1391, 13:02 عصر
سوالی که هست اینکه: ممبر شیب مگر اطلاعاتش را چطوری ذخیره می کنه؟
مطمئن نیستم از چه مکانیزمی استفاده میکنه...!

مگر جایی غیر از session یا کوکی توی client side شما دارید.
به نظرم شما ابتدا در مورد State Management تحقیق کن session سمت سرور نه کلاینت...!

تازه همان session ها هم نوعی کوکی بحساب می یاد.
نه دوست عزیز session برای ذخیره اطلاعات مثل sessionID از کوکی استفاده میکنه نه اطلاعات داخلش...!

یعنی اگر یک نفر در browser اش پذیرش کوکی های خودش را قفل کند سیستم session هم غیر فعال میشه.
این قسمت اختیاری میتونید از راههای دیگه مثل sql استفاده کنید...!

یه راه حل به ذهنم رسیده حالا نمیدونم درست یا نه شما باید چک کنید که کاربر از کجا وارد صفحه شده اگر صفحه قبلی متعلق به سایت شما بود که هیچ در غیر اینصورت session پاک کنید و بفرستیدش به صفحه لاگین...!
HttpContext.Current.Request.UrlReferrer