کوکی

نحوه استفاده از کوکی ها در PHP

کوکی چیست ؟

کوکی  یک فایل سیستمی می باشد که نشان دهنده موقعیت کاربر در یک وبسایت است. این فایل در کامپیوتر کاربر ذخیره می شود. زمانی که شما وبسایتی را مشاهده می کنید یک کوکی در مرورگرتان ذخیره می شود که اطلاعات ورود شما و غیره در آن وجود دارد، بار دوم که کاربر وبسایت را مشاهده می کنید نیازی به ورود مجدد به صورت دستی ندارد، در عوض با استفاده ازکوکی ها به طور خودکار شناسایی می شوید. بوسیله PHP می توان کوکی ها را ایجاد کرد،  خواند و از بین برد.

تفاوت اصلی کوکی و session در این است که کوکی ها در کامپیوتر کاربر ذخیره می شود اما session در سرور ذخیره می شود. کوکی ها را می توان به صورت دستی حذف کرد که این کار از نظرامنیتی امری درست نیست.

چرا ما از کوکی ها استفاده می کنیم ؟

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

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

امنیت کوکی ها :

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

اگر وبسایت از کوکی برای ذخیره کلمه عبور استفاده کند این کلمه عبور قابل خواندن است که یک تهدید برای هک شدن می توان در نظر گرفت. اما اگر همان پسورد را با استفاده از روش هایی مانند hash کد گذاری کنیم به نسبت قبل امنیت آن بالا می رود.

چگونگی نوشتن (تنظیم) کوکی :

در PHP ، یک تابع به نام ()setcookie وجود دارد که برای set  و unset  کردن کوکی استفاده می شود. نحوه استفاده از این تابع به صورت زیر است :

نحوه دستوری :

مثال :

در مثال بالا نام کوکی username و مقدار آن نیز Morteza تعریف شده است و زمان  انقضای آن ۱ ساعت در نظر گرفته شده است. زمان انقضا مساویست با زمان فعلی به اضافه مدت زمان انقضا بر حسب ثانیه.

چگونگی خواندن (بازیابی) از کوکی:

PHP برای اینکار از cookie_$  استفاده می کند. تمامی کوکی های تنظیم شده توسط یک وبسایت بوسیله  cookie_$ بازیابی می شود.

کد بالا بررسی می کند که کوکی با نام مورد نظر تنظیم شده است یا خیر اگر تنظیم شده باشد پیغام Welcome Morteza  ودر غیر اینصورت پیغام Welcome guest را نمایش می دهد.

چگونگی پاک کردن کوکی :

برای پاک کردن یک کوکی تابع خاصی وجود ندارد . برای اینکار از تنظیم مجدد و معکوس زمان به صورت زیر استفاده می کنیم :

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

در زیر یک مثال عملی با استفاده از یک کوکی بر روی وب سایت آورده شده است :


 منبع : Exforsys Inc


نظر شما چیه؟

۸ دیدگاه

  1. مریم

    جالب بود !ولی برای تازکارا کلی توضیح دادین ممکنه درست متوجه نشن!

  2. مینا

    جالب بود ولی من یه فرم دارم که برای ورود به سایته و میخوام برای اون کوکی ست کنم ولی نمیدونم چطور آخه فرمم بکگراند و عکس هم داره و با جی کوئری هم نمایش داده میشه می تونید کمکم کنید؟

  3. حامد

    در مورد امنیت کوکی ها توضیحاتتون کم بود
    اگه ممکنه بیشتر رو این مبحث تمرکز کنید.با تشکر.

  4. احسان زارعی

    سلام من وقتی htaccess استفاده میکنم دیگه کوکی رو تو صفحاب کدم نمیشناسه و به کوگی ها دسترسی ندارم چیکار کنم؟

متاسفانه امکان ارسال دیدگاه وجود ندارد!