View Full Version : session ID
aidinwashere
چهارشنبه 24 فروردین 1384, 01:01 صبح
سلام
کسی میدونه Session ID هایی که سرور برای هر session میسازه رو چجوری میشه بدست اورد؟
مثلا همین سایت توی هر انتقال شما Session Id شما را با نام SID منتقل میکند.
که البته فکر میکنم برای امنیت بیشتر باشد که اطلاعات از بین نروند.
با سپاس. :)
Farhad.B.S
چهارشنبه 24 فروردین 1384, 13:24 عصر
Response.Write(Session.SessionID);
aidinwashere
چهارشنبه 24 فروردین 1384, 15:06 عصر
دست گل مدیر بخش درد نکنه
ولی میشه بگید پاس دادن اون به هر صفحه چه فایده ای داره؟
چون این کار در این سایت انجام میشود
و دیگر اینکه با داشتن یک session ID چگونه به محتویات آن session دسترسی داشت؟
با احترام.
Behrouz_Rad
چهارشنبه 24 فروردین 1384, 15:50 عصر
پاسخ به این پرسش و توضیحات اجمالی قبلا توسط بنده به این سوال داده شد.
aidinwashere
چهارشنبه 24 فروردین 1384, 19:57 عصر
بله
ولی این سوال فرق دارد
دوباره عرض میکنم فرض کنید ما session ID یک کاربر را داریم با داشتن آن ID چگونه به محتویات آن session دسترسی داشته باشیم.
امیدوارم منظورم رو متوجه شده باشید.
با احترام.
Behrouz_Rad
چهارشنبه 24 فروردین 1384, 21:41 عصر
ببینید اصولا Session ID اصلا به درد شما نمی خوره و چیزیه که فقط سرور از اون سر در میاره.
در ضمن، سوال شما بی معناست.
اگر می خواید Session ID کاربر رو به دست بیارید که جناب Farhad.B.S روش رو گفتند.
دیگه مشکل شما کجاست؟
Farhad.B.S
پنج شنبه 25 فروردین 1384, 02:48 صبح
دوباره عرض میکنم فرض کنید ما session ID یک کاربر را داریم با داشتن آن ID چگونه به محتویات آن session دسترسی داشته باشیم.
از اونجایی که شما تعداد زیادی پست در این مورد دارید ! لازمه توضیحاتی بدم.
سشن ها به صورت دیفالت (یعنی در صورت تغییر ندادن مد SessionState در وب کانفیگ ) در حافظه سرور ذخیره میشند.
برای اینکه سرور بتونه محتویات سشن بازدید کننده رو از کالکشن سشن هاش استخراج کنه لازمه که اطلاعات مربوط به این سشن (در واقع نوعی آدرس سشن) بر روی کلاینت ذخیره بشه که به صورت دیفالت این کار با استفاده از کوکی انجام میگیره.
چیزی که در این سایت یا سایت های مشابه در مورد انتقال SID بین صفحات مختلف وجود داره به این خاطره که در صورت قبول نکردن کوکی ، آدرس سشن از بین نره.
* آدرس سشن در واقع چکیده (Hash) بدست آمده در قالب MD5 از سشن مورد نظره.
بنابراین با داشتن سشن-آی دی کار خاصی نمیتونی انجام بدی ... تنها میتونی محتویات یک سشن که هنوز از بین نرفته رو بدست بیاری (این کار رو با استفاده از Context.Session هم میشه انجام داد !)
شما برای از بین نرفتن سشن ها چند راه داری ،
1.مقدار سشن تایم اوت رو بالا ببری (از اونجایی که محتویات سشن ها در حافظه سرور ذخیره میشه اینکار باعث افزایش فشار به روی سرور میشه)
2.از کوکی استفاده کنی (در صورتی که میتونی بازدید کننده رو وادار کنی کوکی ها رو فعال کنه این روش بهترین خواهد بود)
3.از مد Sql Server برای ذخیره سشن ها در سرور استفاده کنی.
اینکار باعث میشه سشن ها در جدولی از دیتابیس ذخیره بشند، بنابراین فشار اضافی بر حافظه سرور تحمیل نخواهد شد.البته این مد باعث میشه سرعت ثبت و بازیابی سشن ها نسبت به مد InProc پایین تر بیاد .
http://support.microsoft.com/kb/317604
http://idunno.org/dotNet/sessionState.aspx
aidinwashere
پنج شنبه 25 فروردین 1384, 21:58 عصر
بابا مرسی!
عجب مدیرای خفنی داره اینجا!
شرمنده کردید!
:embr:
پس اگه من نمیتونم استفاده کنم پس چرا پاس میدینش به سرور؟ مگه اونجا باهاش کار نمیکنین؟
در ضمن اگر cookieless باشه بازم این کارا لازمه؟
آخه جایی خوندم که نوشته بود کاربر حتی اگر cookie رو هم غیر فعال کنه بازم با cookieless میشه کار کرد.
با تشکر مجدد که به سوالات بیپایان من با حوصله جواب میدید.
:wink:
Farhad.B.S
جمعه 26 فروردین 1384, 05:19 صبح
برای اینکه سرور بتونه محتویات سشن بازدید کننده رو از کالکشن سشن هاش استخراج کنه لازمه که اطلاعات مربوط به این سشن (در واقع نوعی آدرس سشن) بر روی کلاینت ذخیره بشه
این کار یا با کوکی انجام میشه با با ارسال سشن آی دی به عنوان کئوری استرینگ.
در مد cookieless ، خود asp.net سشن آی-دی رو در قالب url به سمت سرور میفرسته.
ealireza
جمعه 26 فروردین 1384, 08:44 صبح
Farhad.B.S جان میشه توضیح بدی که دیفالت خود ASP.net رو چی تنظیم شده و
برای یک صفحه که هیچ سشنی توش تعریف نشده چه فرقی داره ؟
اگه میشه در مورد امنیت سشن هم بگو اگه اگه رو کلاینت باشه امنیت پایین نمیاد ؟
العان کلی برنامه برای دسترسی به کوکی ها ساخته شده ...
بعدشم برای کوکی های سنگین سرعت سایت پایین نمیاد :گیج:
اخه اطلاعات مربوط به سشن باید رو کلاینت کوکی بشه ...
و بعد برای هر ریکوئست خوانده بشه ....
اگه سرور ریستارت بشه یا ریساکل کنه کل سشن ها پاک میشن
حالا این کوکی ها که تو کلاینت ذخیره میشوند پاک نمیشند ؟ (میتونه یه مزیت باشه)
SQL هم خیلی خوبه (به نظرمن) :mrgreen:
اگه میشه در مورد این سوالات من رو راهنمایی کنید :mrgreen:
aidinwashere
شنبه 27 فروردین 1384, 00:01 صبح
فکر کنم همون SQL استفاده کنم
ولی اینطور که بوش میاد دردسر داره! :wise2: :embr:
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.