در حال بارگذاری ... .

کوکی(cookie) در php

می‌توانیم بگوییم کوکی، یکی از ابزارهایی است که در تعامل و گفتگوی بین مرورگر و سایت‌ها استفاده می‌شود. اولین بار شرکت Netscape در سال ۱۹۹۴ در مرورگر خود (Mosaic) از کوکی استفاده کرد و مایکروسافت هم در سال ۱۹۹۵ در مرورگر خود (Internet Explorer) این ابزار را به کار گرفت.

کوکی ها به نامهای دیگری هم شناخته می‌شوند؛ از جمله  کوکی وب (web cookie) یا کوکی مرورگر (browser cookie) یا کوکی اینترنتی (internet cookie) یا HTTP Cookie .

چگونگی عملکرد کوکی

هنگامی که برای اولین بار اطلاعات کاربری خود را در مرورگرخود در یک سایتی  وارد می کنید ، این اطلاعات در یک کوکی بر روی مرورگر کامپیوتر شما ذخیره می شود که هنگام مراجعه بعدی به همان سایت ، بدون اینکه خودتان کاری انجام داده باشید این کوکی‌ها با توجه به سایت مورد نظر  شناخته شده و دیگر نیاز به وارد کردن دوباره اطلاعا ندارید .همچنین  کوکی ها بسته به تنظیمات مرورگرهای مختلف محل ذخیره سازی متفاوتی دارند.

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

کاربرد‌های کوکی

استفاده برای آمارگیری: سایت های آماری از کوکی ها برای پیگیری کاربران خود استفاده می کنند. با استفاده از کوکی یک کاربر بیش از یک بار در وبسایت مورد شمارش قرار نمی گیرد و آمار کاربران را به صورت منحصر به فرد می توان به دست آورد.

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

 برای مثال: فرض کنید به سایتی سر می‌زنید که به شما اجازه می‌دهد رنگ‌های مختلفی را برای پس‌زمینه‌ی آن انتخاب کنید.

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

سروری که سایت روی آن قرار دارد می‌تواند از مرورگر شما بخواهد که یک کوکی برایش ایجاد کند و در آن کوکی، رنگ مورد علاقه‌تان را بنویسد. حالا دفعه‌ی بعد که به سایت سر می‌زنید می‌توانید همان رنگ مورد علاقه‌ی خودتان را ببینید.

 

  • تسریع درلاگین : یکی از  رایج‌ترین کاربرد‌های کوکی ‌

مثال: حتماً به این نکته توجه کرده‌اید که در بسیاری از سایت‌ها (از جمله گوگل، یاهو و …) وقتی مرورگر خود را می‌بندید و بعداً دوباره به سایت سر می‌زنید، همچنان در سایت لاگین هستید و صرفاً در فواصل زمانی نسبتاً طولانی ممکن است دوباره مجبور شوید نام کاربری و پسوورد خود را وارد کنید.

سایت‌ها برای اینکه این کار را انجام دهند از مرورگرتان می‌خواهند یک کوکی روی کامپیوتر یا موبایل شما ایجاد کند و دفعه‌های بعد که به سایت سر می‌زنید با استفاده از اطلاعات ثبت شده در همان کوکی، بدون اینکه لازم باشد نام کاربری و پسوورد را وارد کنید به عنوان کاربر به سرویس‌های سایت دسترسی پیدا می‌کنید. به این نوع کوکی‌ها، Authentication Cookies گفته می‌شود.

امنیت کوکی:

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

ایجاد و استفاده از کوکی

در php  برای ایجاد کوکی  و برای set  و unset  کردن کوکی از setcookie()   استفاده می شود؛ که ساختار زیر را دارد:

setcookie(name,
value, expire, path, domain, secure);

۱. : name: نام Cookie می باشد. شما از این نام بعدا برای استخراج Cookie  استفاده خواهید کرد.

۲. : Value مقدار متناظر با Cookie می باشد که داخل آن ذخیره می گردد. مقادیر معمول Cookie شامل نام کاربری (از نوع داده ی رشته ای) و آخرین بازدید (از نوع داده ی تاریخ) می باشد.

۳.  :Expire بیانگر زمانی است که Cookie منقضی می گردد. ضمنا قرار دادن این پارامتر اختیاری می باشدهمچنین  این پارامتر بر حسب ثانیه می باشد. بعنوان مثال time()+3600*24*20که برای ۲۰ روز می‌باشد.بهتر است بدانید برای افزایش امنیت، مدت زمان از بین رفتن کوکی را کاهش میدهند.

۴. Path : مشخص کننده ی مسیر سرور Cookie می باشد که پارامتری اختیاری است. اگر آنرا برابر با “/” قرار دهیم، Cookie در تمام دامنه در دسترس خواهد بود. اگر بعنوان مثال آنرا برابر با “/test/” قرار دهیم، Cookie تنها در دایرکتوری test و تمام زیر دامنه های test در دسترس خواهد بود. مقدار پیش فرض آن دایرکتوری فعلی است که Cookie در آن قرار داده می شود.

۵. : Domain بیانگر نام دامنه ی Cookie می باشد که پارامتری اختیاری است. بعنوام مثال برای در دسترس بودن Cookie در تمام زیر دامنه های yourdomain.com بایستی مقدار این پارامتر برابر با “.yourdomain.com” قرار داده شود. با قرار دادن مقدار آن برابر با www.yourdomain.com در واقع Cookie تنها در زیر دامنه ی www در دسترس خواهد بود.

۶. Secure: مشخص کننده ی این امر است که آیا Cookie بایستی از یک ارتباط HTTPS امن استفاده کند یا خیر که Cookie تنها هنگامی قرار داده می شود که یک ارتباط امن وجود داشته باشد. ضمنا مقدار پیش فرض آن False می باشد.

 

  • مقدار Cookie هنگام ارسال آن بصورت خودکار  URL رمز شده خواهد بود و هنگام دریافت مقدار مذکور بطور خودکار  رمزگشایی می گردد. پس برای جلوگیری از کد شدن URL به هنگام دریافت در PHP 5 می توانید از تابع ()setrawcookie به جای تابع ()setcookie استفاده نمایید

برای ایجاد کوکی به صورت زیر عمل می کنیم.

 

برای گرفتن مقدار و خواندن مقدار کوکی به صورت زیر عمل می کنیم دقیقا مثل یک آرایه با آن رفتار می کنیم.

 

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

, , , ,
اشتراک گذاری:

مایل به ثبت دیدگاه هستید؟

آخرین دیدگاه‌ها

آخرین دیدگاه‌ها