در پست قبلی نحوه ی خواندن و نوشتن کوکی ها را در php آموزش دادم. اکنون می خواهم آرگومان های جدید را معرفی کنم. قبلا گفتیم به جز آرگومان های name و value چند آرگومان دیگر هم هستند که در به صورت زیر استفاده می شوند:
setcookie(”name”, “value”, “expiration”, “path”, “domain”, “secure”);
آرگومان expiration یک زمان مشخص را برای یک کوکی تعیین می کند. که در فارسی به آن تاریخ انقضا می گوییم. مثلا می توانیم expiration یک کوکی را 3600 ثانیه (یک ساعت) در نظر بگیریم. با این کار، این کوکی به مدت یک ساعت در سیستم کابر باقی می ماند:
setcookie(”UserName”, “KPTools”, time()+”3600″);
در خط بالا مشاهده می کنید که یک کوکی با نام UserName و با مقدار KPTools و با مدت زمان یک ساعت ایجاد شده است. با این کار، کوکی ما به مدت یک ساعت در cache کاربر ذخیره می شود.
آرگومان های path و domain کوکی ها را به یک بخش و یا دامنه محدود می کند. برای مثال می توانیم تعیین کنیم که اگر کاربر در فولدر Index بود، این کوکی فعال شود:
setcookie(”UserName”, “KPTools”, time()+”3600″, “/Index/”);
با این کار هر زمان که کاربر در فولدر Index بود کوکی ما به مدت یک ساعت فعال می شود.
آرگومان secure یک آرگومان بسیار مهم برای سایت هایی مانند بانک های الکترونیک و فروشگاه های اینترنتی است. با استفاده از این آرگومان اطلاعات کوکی شما به صورت حفاظت شده و از طریق پیکربندی http ارسال می شود:
setcookie(”UserName”, “KPTools”, time()+”3600″, “/Index/”, “1″);
همان طور که مشاهده کردید با اضافه کردن مقدار 1 به آرگومان آخر، امنیت به کوکی وارد می شود. اگر این قسمت را خالی بگذاریم یا عبارت 0 (صفر) را وارد کنیم این آرگومان فعال نمی شود.
برای پاک کردن یک کوکی هیچ آرگومان یا تابع خاصی (در php) وجود ندارد. به همین منظور برای پاک کردن اطلاعات یک کوکی می توانیم از یک value خالی استفاده کنیم برای مثال:
setcookie(”UserName”, “”);
دستور بالا کوکی UserName را پاک می کند. یعنی مقدار value را خالی می کند.


3 comments
Comments feed for this article
اکتبر 12, 2007 روی 3:29 ب.ظ
محسن وزیری
“آی تی نوشت دات نت” شروع به کار کرد!
http://itnevesht.wordpress.com/2007/10/10/itneevsht-net/
نوامبر 7, 2007 روی 12:38 ب.ظ
شبستان
کوکی بهتره یا session؟
نوامبر 10, 2007 روی 8:29 ب.ظ
شبستان
ولی من در کتابهای پی اچ پی چیزه دیگه ای خوندم. اتفاقا همین الان که داشتم نگاه میکردم نوشته همه مرورگرها امکان استفاده از کوکی رو ندارن و اونایی هم که دارن به راحتی میشه این امکان رو لغو کرد.
به نظر session قویتر میاد. البته من خودم پی اچ پی کار نیستم. فقط چندی سعی کردم یاد بگیرم.