رفتن به مطلب

ارسال های توصیه شده

Cookie چیست ؟

 

در حقیقت کوکی ها فایل های متنی کوچکی هستند که در کامپیوتر سرویس گیرنده ( client ( ذخیره میشوند.

 

بسیاری از سایت های معروف مثل یاهو از این سیستم برای نگهداری برخی از اطلاعات کاربر استفاده می کنند .

 

کوکی های قابلیت به رمز درآمدن را دارند و برای همین می توان امنیت آنها را تضمین کرد.

 

روش استفاده از کوکی ها :

 

برای استفاده از کوکی ها به کلاس HttpCookie نیاز داریم ، این کلاس در فضا نام system.web وجود دارد که به طور پیش فرض به صفحه کد نویسی ما اضافه شده است.

 

برای ساخت یک شی از این کلاس به شکل زیر عمل می کنیم :

 

 

 

view sourceprint?

 

1.Dim mycookie As New HttpCookie("login")

 

 

فرض کنید در حال ایجاد یک سیستم ورود و تشخیص هویت هستیم . می خواهیم اطلاعات کاربر را پس از اینکه هویتش تایید شد داخل یک کوکی نگهداری کنیم . بدین منظور از کد فوق برای ساخت یک کوکی استفاده می کنیم.

 

برای مقدار دهی به این کوکی به روش زیر عمل می کنیم :

 

 

 

view sourceprint?

 

1.mycookie.Value= username.Text

 

 

 

 

کد فوق مقدار کوکی ساخته شده را برابر مقدار نوشته شده در تکس باکس username قرار می دهد.

 

در صورتی که اطلاعات ما بیش از یک مقدار باشد می توانید به شکل زیر عمل کنید :

 

 

view sourceprint?

 

1.mycookie.Values("username") = Uid.Text

 

2.

 

3.mycookie.Values("password") = password.Text

 

در این روش به جای استفاده از متد Value از Values استفاده می کنیم که نام متغیر به صورت پارامتر به آن پاس می شود ( مانند username , password ) و بوسیله عملگر ‘=’ مقدار دهی می گردد.

 

بنابراین اکنون یک کوکی به نام login ساختیم که دارای دو متغیر username , password هست که این دو متغیر مقدار دهی شده اند.

 

به صورت پیش فرض زمان انقضای کوکی ها زمانی است که مرورگر شما بسته شود ، اما می توان برای کوکی های زمان انقضا تعریف کرد .

 

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

 

بدین منظور در صورتی که کاربری چک باکس مربوطه را تیک زده بود زمان انقضای کوکی را به سال آینده موکول می کنیم :

 

 

view sourceprint?

 

1.If rem.Checked = True Then

 

2.

 

3. mycookie.Expires = Date.Now.AddYears(1)

 

4.

 

5.End If

 

پس از اعمال فوق کافیست کوکی که ساخته شده را به مجموعه کوکی های سرویس گیرنده بیافزایید بدین منظور داریم :

 

 

 

view sourceprint?

 

1.Response.Cookies.Add(mycookie)

 

برای خواندن کوکی میتوانید از متد Request استفاده کنید .

 

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

 

 

view sourceprint?

 

01.If Request.Cookies("login") Is Nothing Then

 

02.

 

03. Response.Redirect("login.aspx")

 

04.

 

05.Else

 

06.

 

07.

 

08. Label1.Text ="welcome "+Request.Cookies("login").Values("username")

 

09.

 

10.

 

11.End If

 

در قطعه کد فوق که در ساب روتین مربوط به رخداد لود صفحه نوشته شده است در صورت موجود بودن کوکی Login به کاربر خوش آمد می گوییم در غیر این صورت کابر را برای تشخصی هویت به صفحه login هدایت می نماییم.

 

برای حذف کوکی میتوان به صورت زیر عمل کرد :

 

 

view sourceprint?

 

1.Response.Cookies.Remove("login")

 

همچنین میتوان زمان انقضای کوکی را به زمان گذشته تغییر داد .

 

 

 

کنترل قلمرو کوکی ها :

 

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

 

بدین منظور قلمرو کوکی ها را به دو شکل زیر محدود می کنیم :

 

1. محدود کردن قلمرو کوکی ها توسط پوشه های داخل سرور) Folders ).

2. محدود کردن کوکی ها توسط زیر دامنه ها ( subdomains )

 

برای محدود کردن کوکی ها به پوشه های داخل سرور به صورت زیر عمل می کنیم :

 

 

 

view sourceprint?

 

1.mycookie.Path("/users")

کد فوق کوکی login را به پوشه users داخل سایت شما محدود می کند در صورت که هر درخواستی مبنی بر دریافت کوکی ها از سایر پوشه ها داده شود کوکی Login به همراه آن ها نخواهد بود .

 

به عنوان مثال :

 

در صورتی کوکی های صفحه http://www.yousite.com/users/default.aspx در خواست گردد کوکی login دریافت خواهد شد و در صورتی که کوکی های صفحه http://www.yoursite.com/manage/default.aspx در خواست شود کوکی Login وجود نخواهد داشت.

 

این عمل یعنی محدود کردن قلمرو کوکی ها توسط زیر دامنه ها نیز ممکن است :

 

 

 

view sourceprint?

 

1.mycookie.Domain = "users.how2learnasp.net"

 

 

به نقل از How 2 leran asp.net

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

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...