نمایش نتایج: از شماره 1 تا 2 از مجموع 2
Like Tree5نفر پسندیدند
  • 4 ارسال توسط Hossein
  • 1 ارسال توسط forough

موضوع: تفاوت بین Session و Cookie

  1. #1
    بنیانگذار
    تاریخ عضویت
    2010 January
    محل سکونت
    زیر سایه خدا
    سن
    37
    ارسال ها
    1,308
    تشکر
    2,923
    تشکر شده 2,205 بار در 886 پست
    نوشته های وبلاگ
    37


    آيا اين پست براي شما سودمند بود؟ بله | خیر

    تفاوت بین Session و Cookie

    بسم الله الرحمن الرحیم
    امروز میخوام در مورد کوکی ها و سشن ها و تفاوت بین این دو کمی صحبت کنم امیدوارم که مفید واقع بشه برای دوستان عزیز.
    پیرو سوالی که یکی از دوستان در یکی از تاپیکها کرد من این تاپیک رو با جواب دادن به سوال ایشون پیش میبرم .
    سوال:
    نقل قول نوشته اصلی توسط forough نمایش پست ها
    تا اونجا که من متوجه شدم تفاوت اصلی این دو با هم اینه که session سمت سروره، بنابراین امنیت بیشتری داره. اما فکر می کنم وجود ایندو با هم الزامی نداره.
    در واقع یا از cookie استفاده میشه یا از session .اگه درست میگم لطفا توضیح بدید که چه وقت از هر کدومش استفاده میشه.چون تو خیلی از این سایت ها
    می بینم از cookie استفاده می کنند.
    متشکرم
    درسته . البته فرق های دیگه ای هم بین سشن و کوکی هست مثل :
    1. کوکی ها بصورت رشته ذخیره میشن
    2. چون بصورت رشته و متنی در طرف کاربر ذخیره میشن امنیت پایینی دارن ( یا بهتر باید بگم ندارن!- درسته که کوکی ها بصورت هش هم ذخیره میشن اما با سرقت همین کوکی ها میشه برای ورود به سایت و ... استفاده کرد )
    3. کوکی ها هم میتونن برای هر فرد جداگانه استفاده بشن و یا میتونن اینطور نباشن و تنظیمات کلی و یا یک سری اطلاعات اماری از سایت رو ذخیره کنن
    4. استفاده از کوکی ها باعث افزایش ترافیک شبکه میشه .
    5. اندازه اونها 40 بایته و تعداد کوکیهایی که میتونید استفاده کنید به 20 محدود شده
    6. ما میتونیم کوکی ها رو غیرفعال کنیم ( ما یعنی کلاینت )
    7. ما دو نوع کوکی داریم نوع پایدار و نوع ناپایدار


    سشن :
    1. در سشن میتونید هر نوع داده ای رو ذخیره کنید
    2. سشن امن هست چرا که داده ها بصورت رمزنگاری شده /باینری ( و نه متنی و رشته ای ) در اون ذخیره میشن و در سمت سرور از حالت رمز خارج میشن
    3. سشن برای هر کاربر بصورت جداگانه و اختصاصی هست
    4. هیچ محدودیتی در تعداد سشن ها در برنامتون وجود نداره
    5. نکته منفی استفاده از سشن سرباری هست که به سرور تحمیل میکنه - برای همین در استفاده از اون باید جوانب کار رو رعایت کرد-
    6. سشنها به کوکیهای غیرپایدار هم معروف هستند چرا که زمان حیات اونها رو میشه بصورت دستی مشخص کرد .


    کوکی:
    بطور کل میشه گفت کوکیها داده های کوچکی از نظر اندازه هستند که بصورت رشته ای یا بصورت فایل بر روی سیستم کلاینت ذخیره میشن یا در حافظه سشن مرورگر کلاینت قرار میگیرن .
    کوکی ها عموما برای ذخیره تنظیمات استفاده میشن . مثلا فرض کنید ما سایتی داریم که صفحه اول اون رو بر حسب اینکه یک کاربر داره اونو میبینه یا یک فرد ثبت نام نکرده سفارشیش میکنیم .
    برای اینکه وقتی کسی به سایت ما وارد شد ما بفهمیم این کاربر ما هست یا نه و صفحه تغییر پیدا کرده رو بهش نشون بدیم یا نه ما میایم و کوکی رو روی سیستمش چک میکنیم .بصورت زیر:
    if (Request.Cookies[“username”]!=null)
    lbMessage.Text=Request.Cookies[“username”].Value+" عزیز " +"خوش آمدید!";
    else
    lbMessage.text="بازدید کننده محترم سلام!";

    حالا اگه قرار باشه اطلاعات کلاینتمون رو ذخیره کنیم میتونیم این کار رو اینطور انجام بدیم :

    Response.Cookies[“username’].Value=username;

    با این کار دفعه بعدی که این کاربر به سایت ما سر میزنه ما میتونیم اون رو براحتی بشناسیم .


    این هم چند مثال از استفاده از کوکی ها :
    1در سایتهای فروشگاهی که شما میریدو کالاهای مختلف رو دید میزنید - میشه امار این بازدیدها رو در کوکیها ذخیره کرد که دفعه بعدی که میرید با نگاه کردن به کوکی ها لیست کالاهای مورد علاقه شما بهتون نمایش داده بشه ( مثلا آمازون این کارو میکنه + خیلی از سایتهای دیگه )
    شما وقتی در سایتی ثبت نام کردین و یوزر پستون رو ذخیره کردید مرورگر شما - هر زمانی که شما دوباره وارد اون سایت شدید براحتی میتونه بر اساس اون کوکی ها عمل لاگین رو براتون انجام بده
    بعضی از سایتها هستن که قبل از ورود از شما سن تون رو میپسن اگه فرد سن کم رو وارد کنید دیگه بهتون اجازه ورود نمیده - صفحه رو هم ببنید مرورگر رو هم ببنید و دوباره به همون سایت برید در بدو رورد با پیام خطا یا اخطاری مواجه میشید که میگه سن شما کمه - اینجا بار اولی که شما سنتون رو وارد کردید اون رو در کوکی ذخیره کرد و هر بار که شما سایت رو میبنید اول میره کوکی رو چک میکنه - اگر کوکی وجود نداشت سوال رو میپرسه و اگر داشت بر اساس مقداری که توش ذخیره شده تصمیم میگیره .

    سشن :

    در مورد سشن ها هم باید بگم سشن معمولا برای ذخیره اطلاعات مربوط به نشست بین کلاینت و سرور استفاده میشه اطلاعاتی که برای رفت و برگشتهای ممتد سرور و جواب به درخواستهای مختلف به اونها نیازه.
    هر سشن مربوط به یک کلاینت هست و بنابراین برای هر کلاینت بطور جداگانه اختصاص پیدا میکنه . یک داده ایده آل برای ذخیره شدن در سشن خصیصه هایی مثل این هست : بزودی از بین بره ,داده حساسی باید باشه که منحصرا مربوط به یک نشست خاص بشه .


    هر سشن فعال در ASP.NET توسط یک رشته آی دی 120 بیتی که ( که بهش SessionID گفته میشه و ) شامل کاراکترهای معتبر اسکی (از لحاظ معتبر بودن در URL ها ) هست تشخیص داده میشه و مورد استفاده قرار میگیره .
    SessionID هایی که صحبتش رفت توسط یک الگوریتم خاص تولید میشن تا اول از یکتایی اونها اطمینان حاصل بشه و اینطور تداخل سشنها رو نداشته باشیم و از طرفی تصادفی بودن اونها تضمین بشه تا اینطور نشه براحتی اونها رو حدس زد ( و خرابکاری صورت داد) .
    SessionID ها براساس تنظیماتی که شما روی وب کانفیگ برنامتون اعمال میکنید یا توسط کوکیها و یا توسط یک URL تغییر پیدا کرده بین درخواستهای بین کلاینت و سرور منتقل میشن

    تمامی برنامه های تحت وب باید یک فایل تنظیمات یا بهتر بگم پیکربندی بنام web.config داشته باشن . این فایل یک فایل xml هست که احتمالا همتون دیدید . در این فایل یک بخشی وجود داره با نام sessionState که در اون میتونید تنظیمات مربوط به سشن رو در برنامتون لحاظ کنید .مقادیرش رو میتونید بعنوان مثال در زیر ببینید :


    <sessionState
    mode="SQLServer"
    cookieless="true"
    sqlConnectionString=" Integrated Security=SSPI;data source=MySqlServer;"
    sqlCommandTimeout="10" />

    برای اطلاعات بیشتر میتونید اینجا رو ببینید : sessionState Element (ASP.NET Settings Schema)

    گزینه cookieless هم میتونه true و هم میتونه false باشه . اگه روی false - که گزینه پیشفرض هست- باشه ASP.net از کوکی برای تشخیص کاربرا استفاده میکنه . اگه true باشه ASP.net یک عدد یکتا رو بصورت تصادفی تولید میکنه و اون رو دقیقا جلوی فایل درخواست شده قرار میده .
    این شماره برای شناسایی کاربر مورد استفاده قرار میگیره .
    و در آخر هم برای کار برای ذخیره اطلاعات در سشن و بازیابی اون اینطور عمل میکنیم :


    //ذخیره سازی
    Session[“name”]=”Hossein”;
    //بازیابی
    name=Session[“name”];


    اینجا رو هم مطالعه کنید خوبه


    انشاالله توضیحات این بخش به مرور زمان تکمیل تر میشه.

    در پناه حق پیروز و سربلند باشید

    موضوعات مشابه:
    Shojaee, MoJTaBa, Ramin-hst و 1 نفر دیگر این نویسه را می پسندند.
    توکل بخدا
    http://DeepLearning.ir
    اولین و تنها مرجع یادگیری عمیق ایران


    هرکس از ظن خود شد یار من
    از درون من نجست اسرار من




  2. #2
    عضو تازه وارد
    تاریخ عضویت
    2012 June
    محل سکونت
    کنار دریای شمال
    ارسال ها
    10
    تشکر
    62
    تشکر شده 33 بار در 9 پست


    آيا اين پست براي شما سودمند بود؟ بله | خیر
    ممنونم خیلی کامل و جامع بود.

    Hossein این نویسه را میپسندد.

 

 

کاربران برچسب خورده در این موضوع

کلمات کلیدی این موضوع

علاقه مندی ها (Bookmarks)

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  


Powered by vBulletin
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.6.0
Persian Language By Ustmb.ir
این انجمن کاملا مستقل بوده و هیچ ارتباطی با دانشگاه علوم و فنون مازندران و مسئولان آن ندارد..این انجمن و تمامی محتوای تولید شده در آن توسط دانشجویان فعلی و فارغ التحصیل ادوار گذشته این دانشگاه برای استفاده دانشجویان جدید این دانشگاه و جامعه دانشگاهی کشور فراهم شده است.لطفا برای اطلاعات بیشتر در رابطه با ماهیت انجمن با مدیریت انجمن ارتباط برقرار کنید
ساعت 05:08 AM بر حسب GMT +4 می باشد.