نحوه استفاده از کوکی ها درasp.net core

 نحوه استفاده از کوکی ها درasp.net core
فهرست مقاله [نمایش]

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

     در دوره رایگان و پروژه محور آموزش asp در فصل پروژه عملی کار با کوکی در asp.net core  را آموزش داده‌ایم.

     

    برای یادگیری کوکی‌ها در asp.net cor  این ویدئو رو تماشا کنید  
     

     

     

    کوکی‌ها شیوه جدید ذخیره‌سازی اطلاعات هستند (البته چند سالی هست که روی کار آمده‌اند) در این روش اطلاعات بر روی سرور ذخیره نمی‌شوند بلکه برروی مرورگر خود کاربر ذخیره می‌شود و هروقت دیتا را لازم داشتیم از خود مرورگر کاربر می‌گیریم.


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

    توجه داشته باشید با هر request و response این کوکی‌ها بین کلاینت و سرور جابه‌جا می‌شوند.

    هر کوکی از دو بخش تشکیل شده key و value ما باید برای استفاده از کوکی‌ها این دو مقدار را به‌صورت رشته‌ای تعریف می‌کنیم.
     

    به کد زید توجه کنید

    Response.Cookies.Append ( “Message” , ”WellcomToBugeto” );

    با کد بالا می‌توانید یک کوکی در مرورگر کاربر ذخیره کنید که کلید آن Message و مقدار آن WellcomToBugeto است این ساده‌ترین شکل کوکی است.

    نوع حرفه ای و پیچیده‌تر این کوکی‌ها به این شکل است که می‌توانیم تنظیماتی برای کوکی‌ها اختصاص دهیم 

    به کد زیر توجه کنید

                Response.Cookies.Append("Message", "welcome", new CookieOptions
                {
                    HttpOnly = true,
                    Secure = Request.IsHttps,
                    Path = Request.PathBase.HasValue ? Request.PathBase.ToString() :"/",
                    Expires = DateTime.Now.AddDays(5),
                });
    

    در کد بالا ما یک سری تنظیمات برای کوکی قرار دادیم در ادامه پارامترهایی برای تنظیمات کوکی‌ها را بررسی می‌کنیم

     

    HttpOnly : این پارامتر به‌صورت bool  است و اگر مقدار آن true  باشد فقط از طریق درخواست‌های http  می‌توانیم به آن دسترسی داشته باشیم و با اسکریپت‌ها این کار امکان‌پذیر نیست

    Secure:  این پارامتر نیز به‌صورت bool  است و اگر مقدار آن true  باشد فقط از طریق پروتکل‌هایی که https هستند می‌توان به کوکی دسترسی داشت و اگر بخواهم با هر دوی پروتکل‌های http  و https کار کنیم باید مقدار آن را به‌صورت Secure = Request.IsHttps بدهیم

    PATH:با این پارامتر می‌توان مسیر کوکی را مشخص نمود. با کد مقابل می‌توان مسیر جاری را به آن اختصاص داد و اگر مسیر جاری مقدار داشت همان را به‌عنوان مسیر کوکی اختصاص می‌دهیم و اگر مقدار نداشت "/" را برای مسیر می‌دهیم یعنی مسیر جاری

    Path = Request.PathBase.HasValue ? Request.PathBase.ToString() :"/"

     

    Expires:  این پارامتر مشخص‌کننده تاریخ انقضای کوکی است و بعد از تاریخ مقدار ورودی این کوکی به‌صورت خودکار از مرورگر کاربر پاک می‌شود

     

     

    *برای دیدن کوکی‌های ذخیره شده در مرورگر می‌توان از inspect  و تب storage  استفاده کرد

    *اگر برای کوکی تاریخ انقضا مشخص نکنیم به‌صورت پیش‌فرض مقدار session  ذخیره می‌شود که به این معنی است که بعد از بستن مرورگر کوکی پاک می‌شود

    *بعد از نوشتن کوکی ما نیاز داریم که به آن دسترسی داشته باشیم با کد زیر می‌توان مقدار کوکی را به دستاورد البته روش‌های دیگری برای به‌دست‌آوردن مقدار کوکی وجود دارد که در این مقاله ما دو روش را آموزش خواهیم داد

    روش اول: در این روش مقدار کوکی درون متغیر ریخته می‌شود

    Var CookieValue=Request.Cookies[“KeyName”].ToString();

    روش دوم: با این روش اگر کوکی با این کلید وجود داشته باشد مقدار true  بر می‌گردد و درون متغیر ریخته می‌شود

    
    String CookieValue;
    Request.Cookies.TryGetValue(“KeyName”, Out CookieValue);
    

    *برخی مواقع نیاز داریم که مقدار کوکی را به‌صورت دستی پاک کنیم کد زیر این کار را برای ما انجام می‌دهد

    Response.Cookies.Delete(“KeyName”);

     

     


    • نویسنده: احمدرضا غلامی

    ارسال دیدگاه

    برای افزودن دیدگاه خود، نیاز است ابتدا وارد حساب کاربری‌تان شوید


    دیدگاه کاربران