60% تخفیف ویژه دوره تخصصی وردپرس به مدت محدود مشاهده دوره

آموزش کوکی در php

کوکی در php

 
آموزش کوکی در php یکی دیگر از مباحث مهم و کاربردی در برنامه نویسی php محسوب می شود. کوکی ها حاوی اطلاعات ورود کاربران به سایت بوده و برای شناسایی کاربران در صفحات وب استفاده می شوند. در این ویدیو قصد داریم به آموزش کوکی در php بپردازیم پس با ما همراه باشید.

 

تعریف کوکی در php

تعریف کوکی در php نیز مشابه هر زبان سمت سرور دیگری، به یک فایل کوچک گفته می شود که سرور آن را برای کامپیوتر کلاینت ارسال می کند. این فایل حاوی شناسه یک نشست از یک وبسایت است. در قسمت آموزش سشن در php ، بطور کامل در مورد نشست ها صحبت کردیم. هر بار که کاربر درخواست باز شدن صفحات وبسایت را ارسال می کند، cookie نیز همراه درخواست به سرور ارسال می شود و نشست یا session مربوط به کاربر برقرار می گردد. برای اینکه بهتر با مفهوم cookie در php آشنا شوید این مثال را در نظر بگیرید. اگر شما یکبار با مرورگر خود در سایت Gmail ایمیل خودتان را باز کرده باشید، پس از آن هر بار که شما صفحه Gmail را در مرورگر خود باز می کنید بصورت خودکار وارد ایمیل خود می شوید. دلیل این امر وجود کوکی هاست. حال که با تعریف کوکی در php آشنا شدیم ببینیم چطور می توانیم کوکی ها را بسازیم.

 

 

کاربرد کوکی

حال ببینیم چرا از cookie در php استفاده می کنیم. در یک فایل کوکی شما می توانید ۴۰۰۰ کاراکتر را ذخیره کنید. اما کاربرد کوکی چیست که به ما اجازه ذخیره این حجم اطلاعات را می دهد. از جمله کاربردهای کوکی ها می توان به موارد زیر اشاره کرد:

  • شخصی سازی پیشنهادات: برخی از سایت ها با این هدف از کوکی استفاده می کنند که بتوانند اطلاعات کاربران را جمع آوری کرده و برای هر کاربر نتایج و پیشنهادات متناسب با سلیقه و تخصصش نمایش دهند. این کار یک روش تبلیغی برای سایت ها محسوب می شود، چون مطابق سلیقه و نیاز مشتری عمل می کند.
  • ذخیره اطلاعات ورود کاربران: در برخی سایتها کوکی ها بصورت خودکار اطلاعات کاربران را ذخیره می کنند. این کار علاوه بر اعتبارسنجی کاربر باعث صرفه جویی در زمان ورود برای کاربران می شود؛ چون دیگر نیازی به وارد کردن اطلاعات شناسه کاربری و رمز عبور خود ندارند. مزیت دیگر این کار این است که اغلب کاربران شناسه و رمز عبور ورود به سایتها را فراموش می کنند و کمتر کسی آن را در جای دیگر یادداشت می کند. کوکی ها به این افراد نیز کمک می کند که در هر زمان به اطلاعات کاربری خود دسترسی داشته باشند.
  • آمارگیری: یک کاربرد دیگر کوکی ها برای گرفتن آمار کاربران سایت است. اگر یک سایت برای مقاصد تبلیغاتی بخواهد کاربران خود را شمارش کند بدون آنکه کاربری دوبار شمرده شود، می تواند از کوکی ها کمک بگیرد و آمار سایت را به درستی محاسبه کند.
  • هدفمند سازی تبلیغات: اکثر سایتهایی که در چندین زمینه کار می کنند، از کوکی برای هدفمند کردن تبلیغاتشان استفاده می کنند. کوکی به سایت در شناخت سلیقه کاربر کمک می کند و تبلیغاتی که به کاربر نمایش داده می شود براساس نیاز و علایق بازدیدکننده است و این مسئله باعث می شود که کاربر به این تبلیغات بهتر واکنش نشان دهد.

 

ساخت کوکی در php

ساخت کوکی در php کار چندان دشواری نیست. تنها کاری که برای ساخت یک cookie در php نیاز دارید استفاده از تابع setcookie است. نحوه کار این تابع به صورت زیر است:

 

پارامترهای ورودی این تابع به ترتیب عبارتند از :

  • name: یک نام برای کوکی تعیین می کند
  • value: نام کاربری یا هر مقدار دیگری که می خواهید در کوکی ذخیره شود را مشخص می کند
  • Expire: زمان پایان انقضای کوکی را مشخص می کند.
  • Path: آدرس وبسایتی که کوکی متعلق به آن است.
  • Domain : دامنه وبسایتی که کوکی متعلق به آن است و در آن معتبر را مشخص می کند.

از میان پارامترهای گفته شده، تنها پارامتر نام است که برای ساخت کوکی در php الزامی است مابقی موارد اختیاری هستند. به مثال زیر توجه کنید:

در این کد مقدار نام برابر user ، مقدار value برابر john Doe ، تاریخ انقضا برابر زمان فعلی که با تابع time نشان داده شده بعلاوه ۳۶۰۰ ثانیه دیگر یا به عبارت دیگر یک ساعت دیگر تعریف شده اند. مقدار آدرس با / نشان داده شده که معنای آن این است که کوکی در تمامی وبسایت قابل دسترسی است و کاربرد دارد.

 

نکته : تابع setcookie  باید قبل از تگ html قرار داده شود.

نکته : در صورتی که در قسمت های path و  domain مقداری قرار ندهیم کوکی برای سایت و دامنه فعلی خودمان در نظر گرفته می شود.

 

خواندن کوکی در php

خواندن کوکی در php هر بار بعد از ورود به سایت انجام می شود. برای این که یک cookie در php توسط یک سایت خوانده شود یا به اصطلاح بازیابی شود php از یک متغیر سراسری به نام cookie_$ استفاده می کند. به عنوان مثال کوکی ساخته شده در بالا توسط دستور زیر بازیابی و بررسی می شود:

این مثال نحوه خواندن کوکی در php را نمایش می دهد. خروجی این دستور در صورت وجود کوکی مقادیر داخل آن را نشان می دهد و در غیر اینصورت پیغام نبود کوکی را برمیگرداند.

 

 

تغییر مقدار کوکی در php

تغییر مقدار کوکی در php مشابه تغییر مقدار در سشن است. برای تغییر مقادیر cookie در php شما باید همان مقادیر را مجددا وارد کنید و این کوکی جایگزین کوکی قبلی می شود. بطور مثال:

در این قطعه کد که ادامه کد قبلی است ، نحوه تغییر مقدار کوکی در php ، نشان داده شده است. مقدار value در این کد به Alex Porter تغییر کرده و جایگزین مقدار اولیه شده است.

 

 

حذف کوکی در php

حذف کوکی در php روند جالبی دارد. برای اینکه یک cookie در php را حذف کنید، باید تاریخ انقضای آن را تغییر دهید و یک تاریخ گذشته را برای آن تنظیم کنید. به عنوان مثال :

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

 

 

فعال بودن کوکی در مرورگر

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

در این قطعه کد ما ابتدا یک کوکی با نام test-cookie با استفاده از تابع setcookie ساخته ایم. پس از آن عناصر آرایه ای که در متغیر $_COOKIE قرار گرفته است را بوسیله تابع count شمارش می کنیم. در صورتی که این مقدار صفر نباشد یعنی کوکی در این مرورگر فعال است.

 

 

امنیت کوکی در php

حتما پس از مطالعه مبحث cookie در php این سوال برای شما پیش آمده که آیا این کوکی ها امنیت اطلاعات کاربران را به خطر نمی اندازد؟ یا اینکه چطور می توان امنیت کوکی ها را تضمین کرد؟ در ادامه می خواهیم به پاسخ این دو سوال بپردازیم.

در مورد حفظ امنیت داده ها توسط کوکی باید بگوییم کوکی ها بخاطر اینکه از ارسال مکرر شناسه و رمز عبور کاربر در سایت ها جلوگیری می کند، می تواند راهکار خوبی برای افزایش امنیت داده های کاربر باشد. اما از طرفی این داده ها در مرورگر کاربر ذخیره شده و قابل دسترسی هستند که این می تواند متقابلا امنیت این داده ها را به خطر اندازد. برای حفظ امنیت کوکی ها نیز php راهکارهای مختلفی دارد که می توان از آنها برای تامین امنیت cookie در php استفاده کرد. مثلا یکی از این کارها تعیین زمان انقضای کوتاه مدت برای کوکی هاست تا پس از مدتی این کوکی اعتبار خود را از دست بدهد.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *