تبليغات X
کار بار کوکی ( cookie ) ها

HOW 2 LEARN ASP.NET
نویسنده : delshad
تاریخ  : ۱۳۸۵/۱۰/۲۴
امتیاز :
بازدید : 7263
موضوع : کار بار کوکی ( cookie ) ها
توضیحات : در این مقاله قصد دارم به توضیح یکی دیگر از روش های ذخیره و انتقال اطلاعات که cookie نام داره بپردازم.
  دانلود مقاله   نسخه قابل چاپ

Cookie چیست ؟

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

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

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

 

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

 

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

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

 

Dim mycookie As New HttpCookie("login")

 


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

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

 


mycookie.Value= username.Text

 

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

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

 

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

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

 


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

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

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

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

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

 

If rem.Checked = True Then

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

End If

 


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

 

Response.Cookies.Add(mycookie)

 


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

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

 

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

  Response.Redirect("login.aspx")

Else


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


End If

 


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

 

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

 

Response.Cookies.Remove("login")

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

 

 


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

 

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

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

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

 

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

 

mycookie.Path("/users")

 


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

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

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

 

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

 

mycookie.Domain = "users.how2learnasp.net"



 

 

 
امتیاز بدهید :

نویسنده : رسول raheidari@yahoo.com ۱۳۸۸ نوزدهم بهمن
عالی بود
نویسنده : شوك szm8008@gmail.com ۱۳۸۸ نوزدهم دي
بد نبود
نویسنده : لیلی leili_arbabi2002@yahoo.com ۱۳۸۸ بيست و سوم آذر
ممنون خیلی خوب بود.
نویسنده : میثم جلاللی meysam.jalali@gmail.com ۱۳۸۸ يازدهم آذر
علی آقا آخرشییییییییییییییییییییییییییییی ایشا لا به مرید دلت برسیییییییییییییییییییییییییییییییییی آخر برنامه نویسییییییییییییی
نویسنده : محمود ۱۳۸۸ سي تير
با تشکر، راهنماییتون خیلی کمکم کرد
نویسنده : جواد ۱۳۸۸ دوازدهم خرداد
ممنون از زحمات شما

 
نظر بدهید :
لطفا سوالات فنی خود را در تالار گفتگو www.forum.how2learnasp.net مطرح نمایید
نام :  
ایمیل :    
نظرات :
 
Xml rss feed

 

Valid CSS! Atom rss feed
Ali Delshad Official Site