View Full Version : سوال: پاک کردن Session بعد از بستن Browser
میتی دات نت
سه شنبه 03 شهریور 1388, 15:50 عصر
به نام خدا
ضمن آرزوی قبولی طاعات و عبادات در این ماه مبارک رمضان من مشکلی داشتم که بعد از جستجوی فراوان هم نتوانستم آنرا حل کنم
مشکل این است که در وب سایتی که من طراحی کرده ام برای حفظ اطلاعات کاربرها از Session استفاده کرده ام
مشکل اینجاست که هنگامیکه کاربر دکمه SignOut سایت را می زند من می توانم Session فعال را از روی سرور تخریب کنم و لی اگر کاربر Browser را ببندد Session ها در سمت سرور فعال می ماند و تا ز مان تعریف شده برایش فعال می باشد که در این حالت با ابزار های هک سایت مثل burpsuite و Sniffer ها مقدار Session را از طریق SEssion_ID شناسایی کرده و با همین ابزارها Session فعال مانده در حافظه سرور را فعال کرده و با حق دسترسی های آن به اطللاعات آن کاربر که حتی می تواند مدیر سیستم باشد دسترسی پیدا کنند
و به همین طریق یک Session Hijacking صورت میگیرد
اکنون من نمی دانم چگونه می توانم در این حالت Session سمت سرور را تخریب کنم و یا حتی اگر راهی وجود ندارد چه الگوریتمی راباید در برنامه خودم پیاده کنم
از دوستان شدیدا در خواست کمک دارم
با تشکر
میتی دات نت
سه شنبه 03 شهریور 1388, 18:36 عصر
به نام خدا
جناب آقای راد شدیدا التماس دعا داریم
Behrouz_Rad
سه شنبه 03 شهریور 1388, 19:20 عصر
در این حالت با ابزار های هک سایت مثل burpsuite و Sniffer ها مقدار Session را از طریق SEssion_ID شناسایی کرده و با همین ابزارها Session فعال مانده در حافظه سرور را فعال کرده
چطوری؟
جناب آقای راد شدیدا التماس دعا داریم
ما هم افتضاح، ملتمستیم ;)
ISFAHAN
چهارشنبه 04 شهریور 1388, 13:37 عصر
آقا ما رو هم دعا کنین که گیر همین قضیه هستیم ... برای نمایش کاربران آنلاین ... اصلا انگار session end اجرا نمی شه یا از هر 6 تا یکی اجرا می شه !
alireza_s_84
پنج شنبه 05 شهریور 1388, 00:22 صبح
دوست عزیز اگر منظورتون اینه که اگر مرورگر بسته شد کاربر هم logout بشه که با کد جاوا و یه خورده ایجکس قبل از خروج عملیات logout قابل اجراست
اما اگر مستقیما کانکشن اینترنت رو قطع کنه جوابگو نیست اصولیترین راه اینه که شما علاوه بر قسمت قبل که توضیح دادم درون session هر کاربر IP اونو ذخیره کنی و هر چند دقیقه (مثلا 2 دقیقه) سرورت به اون IP عمل PING انجام بده اگه کلاینت جواب داد که هنوز هستش و گرنه شی جلسه رو پاک می کنیم
نحوه انجام کار رو اگه لازم میدونید جمعه که بیکار هستم کاملا توضیح میدم(زیاد سخت نگیرید MSDN بهترین منبعه عزیزان)
یه نکته یادم رفت بگم اینکار زمانی ارزشمنده که واقعا اطلاعات کاربر حیاتیه و گرنه فشار بیخود به سرور و این سطح امنیت واقعا ارزش میخواد ارزش داده ها رو همیشه مدنظر داشته باشین
موفق باشید
میتی دات نت
یک شنبه 08 شهریور 1388, 14:42 عصر
دوست عزیز اگر منظورتون اینه که اگر مرورگر بسته شد کاربر هم logout بشه که با کد جاوا و یه خورده ایجکس قبل از خروج عملیات logout قابل اجراست
ا
میشه لطف کنید بگید چطوری میشه اینکار رو کرد ؟
درون session هر کاربر IP اونو ذخیره کنی و هر چند دقیقه (مثلا 2 دقیقه) سرورت به اون IP عمل PING انجام بده اگه کلاینت جواب داد که هنوز هستش و گرنه شی جلسه رو پاک می کنیم
نحوه انجام کار رو اگه لازم میدونید جمعه که بیکار هستم کاملا توضیح میدما
اگه این لطف رو در حق من بکنید که یک دنیا ما رو شرمنده خودتون کردید و به قول خودتون زکات علمتون رو هم دادین
naeeme
یک شنبه 08 شهریور 1388, 15:12 عصر
درون session هر کاربر IP اونو ذخیره کنی و هر چند دقیقه (مثلا 2 دقیقه) سرورت به اون IP عمل PING انجام بده اگه کلاینت جواب داد که هنوز هستش و گرنه شی جلسه رو پاک می کنیم
نیازی نیست که این همه فشار به سرور بیاریم! کافیه هر زمان که از مقادیر این sessionها در جایی قراره استفاده بشه، کانکت بودن کاربر بررسی بشه و اگر کاربر در هرجایی کانکت نبود، session بسته بشه. اینجوری فشاری به سرور نمیاد
برای چک کردن وصل بودن کلاینت هم من این روش رو بلدم استفاده از
HttpContext.Current.Response.IsClientConnected
alireza_s_84
یک شنبه 15 شهریور 1388, 14:53 عصر
نیازی نیست که این همه فشار به سرور بیاریم! کافیه هر زمان که از مقادیر این sessionها در جایی قراره استفاده بشه، کانکت بودن کاربر بررسی بشه و اگر کاربر در هرجایی کانکت نبود، session بسته بشه. اینجوری فشاری به سرور نمیاد
برای چک کردن وصل بودن کلاینت هم من این روش رو بلدم استفاده از
HttpContext.Current.Response.IsClientConnected
سلام این کد بر اساس همون زمان اتمام Session کار میکنه چک کنید تا ببنید که فرقی نمیکنه . تنها راه حل همون Ping کردنه که باز هم صد در صد جواب نمیده.
هنوز وقت نکردم اما به محض اینکه کوچکترین فرصتی گیر بیارم همشو همینجا توضیح میدم.
ضمنا گفتم "نیازی نیست که این همه فشار به سرور بیاریم! " دوست عزیز تعجب نداره.
سایتی که میخواد این سطح امنیت رو پیاده کنه پس یک سایت پر بازدید هستش که همزمان چندین کاربر بهش لاگین کردن . پس اگه قرار باشه db و app و session و cache و .... رو مدیریت کنیم میبینید که سایت down شد اونم هیچ و پوچ.
مثلا شما وقتی یک میلیون رکورد دارین حتی اگر هر ثانیه کاربر درخواست این رکوردها رو بده هیچوقت نمیاین این همه رکورد رو Cache کنید)
و از اینجور مسائل که بعدا بیشتر توضیح میدم.
موفق باشید
z_bluestar
یک شنبه 15 شهریور 1388, 17:26 عصر
آقاي alireza_s_84 منتظر هستيم ببينيم اين تاپيك به نتيجه مي رسه يا نه ؟؟
هنوز وقت نکردم اما به محض اینکه کوچکترین فرصتی گیر بیارم همشو همینجا توضیح میدم.
ممنون.:لبخندساده:
alireza_s_84
یک شنبه 15 شهریور 1388, 21:01 عصر
آقاي alireza_s_84 منتظر هستيم ببينيم اين تاپيك به نتيجه مي رسه يا نه ؟؟
ممنون.:لبخندساده:
z_bluestar عزیز باور کن اگر وقت کنم چرا نذارم به خدا هیچی بهتر از یاد دادن دیگران نیست
یه خورده سرم شلوغه وقت کردم چشم چرا که نه:چشمک:
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.