
Cookieها در فریمورک Yii
Cookieها فایل های متنی ساده ای (text) هستند که در سمت client ذخیره می شوند. شما می توانید آنها را برای اهدافِ ردیابی استفاده کنید.
سه مرحله برای شناسایی یک کاربر برگردانده شده وجود دارد :
- سرور یک مجموعه cookie ها را به سمت client (مرورگر) می فرستد. به عنوان مثال، id یا token
- مرورگر آن را ذخیره می کند.
- بعد از آن مرورگر د requestی را به web server ارسال می کند، همچنین این cookie ها را ارسال می کند تا سرور بتواند از آن اطلاعات برای شناسایی کاربر استفاده کند.
Cookie ها معمولا در یک هدر HTTP به شکل کد زیر نشان داده می شوند.
HTTP/1.1 200 OK
Date: Fri, 05 Feb 2015 21:03:38 GMT
Server: Apache/1.3.9 (UNIX) PHP/4.0b3
Set-Cookie: name = myname; expires = Monday, 06-Feb-16 22:03:38 GMT;
path = /; domain = tutorialspoint.com
Connection: close
Content-Type: text/html
PHP یک تابع به نام setcookie() برای تنظیم cookie ها ارائه می دهد :
setcookie(name, value, expire, path, domain, security);
- name - این پارامتر، نام کوکی را تعیین می کند و در یک متغیر محیطی به نام HTTP_COOKIE_VARS ذخیره می شود.
- value - مقدار متغیر را تنظیم می کند.
- expiry – یک زمان بر حسب ثانیه از 00:00:00 GMT در 1 ژانویه 1970تعیین می کند. اگر از این زمان تعیین شده بگذرد، cookie غیر قابل دسترس خواهد شد.
- path - مشخص می کند cookie در کدام دایرکتوری ها معتبر است.
- domain – از این پارامتر می توان برای تعیین نام دامنه در دامنه های بسیار بزرگ استفاده شود. تمام cookie ها تنها برای host و domain هایی که آنها را ایجاد کرده اند، معتبر هستند.
- security - اگر این پارامتر تنظیم شود، به این معنی است که cookie باید فقط توسط HTTPS ارسال شود، در غیر این صورت، زمانی که با مقدار 0 تنظیم شود، cookie را می توان با استفاده از HTTP به طور منظم ارسال کرد.
برای دسترسی به cookieها در PHP، شما باید از متغیر $_COOKIE یا $HTTP_COOKIE_VARS استفاده کنید.
<?php
echo $_COOKIE["token"]. "<br />";
/* is equivalent to */
echo $HTTP_COOKIE_VARS["token"]. "<br />";
echo $_COOKIE["id"] . "<br />";
/* is equivalent to */
echo $HTTP_COOKIE_VARS["id"] . "<br />";
?>
برای حذف یک cookie، باید cookie را با تاریخی که قبلا منقضی شده است تنظیم کنید.
<?php
setcookie( "token", "", time()- 60, "/","", 0);
setcookie( "id", "", time()- 60, "/","", 0);
?>
این فصل در یک نگاه:
…
سلام . پیشنهاد میکنم حتما دموی دوره رو مشاهده کنید درباره فریم ورک Yii: در پاسخ به سوالات : آیا این فریم ورک سریع است؟ آیا این یک فریم ورک امن است؟ آیا این یک فریم ورک حرفه ای است؟ آیا ا…این فصل در یک نگاه:
…
پیشنهاد میکنیم دمو دوره رو حتما مشاهده کنید با سلام خدمت دوستان عزیز . ابتدا عرض کنم که این دوره برای دوستانی آماده شده که میخوان وب اپلیکیشن های مدرنی رو طراحی بکنن و وارد بازار کار ط…