HTTP Cookie یا کوکی کامپیوتری داده هایی هستند در فایلهای در دستگاه کاربر ذخیره میشن و هر وقت یه کاربر از یه وب سایت استفاده میکنه، این اطلاعات به سرور اون وبسایت ارسال میشن و اگه این کوکی ها نگهداری بشن، باعث میشه اطلاعات کاربر فراموش نشن!
این یه توضیح مختصر برای آشنا شدن شما با کوکی کامپیوتر بود، اما کوکی همیشه شیرین و خوشمزه نیست و تو دنیای اینترنتی مزههای مختلفی داره که ممکنه خلیاشون با ذائقه ما جور نباشه پس امروز میخوام از این توضیحای ساده فراتر برم و براتون بگم که اصلاً چرا از این کوکی ها استفاده میشه و آیا امنیت دارن یا خیر!
HTTP Cookie چیست؟
همونطور که تو پارگراف اول هم اشاره کردم، کوکی کامیپوتری پرونده های کوچیکی هستند که تو کامپیوتر کاربر ذخیره میشن، اونها طوری طراحی شدن که میتونن حجم متوسطی از داده های خاص برای یه مشتری و سایت خاصی رو در خودشون جای بدن و هم از طریق سرور وب و هم از طریق کامپیوتر مشتری در دسترساند.
این تکنولوژی به سرور امکان میده یه صفحه متناسب با یه کاربر خاص تحویل بده، یا این که خود صفحه میتونه شامل اسکریپت هایی باشه که از داده های موجود در HTTP Cookie آگاهن پس در نتیجه میتونه اطلاعات رو از یه بازدید سایت به بازدید بعدی منتقل کنه!
سایت های خرید از کوکی کامپیوتری برای ردیابی مواردی که کاربران قبلاً مشاهده کردند استفاده میکنه و به سایت امکان میده تا کالاهای مشابه دیگهای که کاربر از اونها خوشش میاد رو پیشنهاد کنه و در حالی که دارن خرید انجام میدن، محصولات داخل سبد خرید ذخیره بشه و حذف نشن.
انواع کوکی های کامپیوتری
کوکی انواع مختلفی داره و معروفترین و رایجترین اونها به شرح زیره:
کوکی Session
این HTTP Cookie از رایجترین انواع کوکی است که در حافظه موقت ذخیره میشه و تا زمانی باقی میمونه که مرورگر وب بسته بشه، این کوکی ها مضر نیستند چون وقتی استفاده شما از مرورگر تموم بشه، همه اطلاعات اونها هم پاک میشه، در واقع این نوع کوکی برای مرورگرهای خاص و حفظ حریم خصوصی کاربران طراحی شده.
کوکی شخص ثالث یا Third-Party
این نوع کوکی کامپیوتری متعلق به دامنه ای متفاوت از اون دامنه که اونها رو ارسال کرده هستند، اونها معمولاً توسط تبلیغات ارسال میشن و میتونن سابقه مرور یه کاربر رو تو چندین وبسایت که از یه شبکه تبلیغاتی استفاده میکنند ذخیره کنن، البته این مدل کوکی ممکنه به حریم خصوصی افراد آسیب بزنند چون بعضی از شبکه های تبلیغاتی از اونها برای ردیابی اطلاعات در مورد شما استفاده میکنند تا تبلیغات هدفمندی رو به شما نشون بدن.
کوکی پایدار یا Persistent Cookie
این نوع کوکی کامپیوتری ، کوکی ردیابی هم نامیده میشن و تا زمانی که تاریخ انقضاشون به پایان برسه یا حذف بشن روی دستگاه کاربر باقی میمونن. این نوع کوکی برای جمع آوری اطلاعات درمورد کاربران و ضبط رفتار اونها تو یه وبسایت خاص در طول یه دوره مورد استفاده قرار میگیره که ما اهداف اصلی این مدل کوکی کامپیوتری رو به دو دسته تقسیم کردیم:
- احراز هویت: این کوکی همانطوری که گفتیم برای ردیابی استفاده میشه و چک میکنه که فلان کاربر آیا وارد سایت شده و اگه وارد شده با چه نام کاربری اومده! اونها همچنین اطلاعات ورود به سیستم رو ساده میکنن تا کاربران مجبور به یادآوری رمزهای سایت نشن.
- ردیابی: این نوع کوکی به مرور زمان هر چندتا بازدیدی که از یه وبسایت داشتین رو ردیابی میکنه. مثلاً تو بحث کسب و کار خیلی از بازاریابان آنلاین برای این که ببینین ورود کاربران به صفحات محصولات چطوری بوده از این کوکی کامپیوتری استفاده میکنن و اطلاعاتی که به دست میارن به اونها امکان میده تا مواردی رو ارائه بدن که کاربر علاقه بیشتری بهشون داره و به تدریج یه پروفایل بر اساس سایقه مرور کاربر در اون سایت ساخته میشه.
کوکی HTTPonly
این کوکی نمیتونه توسط هیچ پروتکلی به غیر از HTTP استفاده بشه. چنین کوکی هایی اطمینان میدن که فقط سایت هایی که اونها رو ایجاد کردن میتونن از اونها استفاده کنن. فقط کوکی های Session میتونند HTTPOnly باشند و معمولاً به هیچ وجه خطری برای حریم خصوصی یا خطرات امنیتی برای کاربران به همراه ندارن.
کوکی امن یا Secure Cookie
این نوع کوکی، یه HTTP Cookie رمزگذاری شدهست که فقط موقع استفاده از یه اتصال امن HTTPS کار میکنه، این کوکی برای اطمینان از این که هکرهای احتمالی که به همون شبکه وصل هستند نتونن اطلاعات کاربران رو به سرقت ببرن، مورد استفاده قرار میگیرن! این نوع کوکی کامپیوتری اطلاعات ضروری درمورد کاربر رو نگه میدارن و عمدتاً در وبسایت هایی استفاده میشن که کاربران در اونها تراکنش مالی انجام میدن و چون رمزگذاری شدن از بقیه مدلها خیلی خیلی امنتر هستند.
مراقب Third-Party Cookie باشین!
کوکی های شخص ثالث که تو موارد بالا بهش اشاره کردیم واقعاً نگران کننده هستند، اونها توسط وبسایت هایی تولید میشن که از صفحات وبی که شما در حال وبگردی داخلشون هستین متفاوتند و معمولاً مربوط به تبلیغات میشن.
مثلاً بازدید از سایتی با 10 تبلیغ میتونه 10 تا کوکی کامپیوتری بسازه حتی اگه کاربر روی هیچ کدومشون کلیک نکنه!
HTTP Cookie شخص ثالث به تبلیغ کنندگان یا شرکتهای تحلیل اجازه میده تاریخچه فردی رو در وبسایت هایی که حاوی تبلیغات اونها هست ردیابی کنند! در نتیجه تبلیغ کننده میتونه مشخص کنه یه کاربر قبل از چک کردن یه سایت خاص برای کالاهای ورزشی و سپس یه بوتیک خاص لباس ورزشی آنلاین، در جستجوی پوشیدن یه لباس تو یه فروشگاه خاص در فضای باز بوده است!
برخی از کوکی های Third-Party ممکنه زامبی باشن! کوکی های زامبی بطور دائم روی رایانه افراد نصب میشن، حتی اگه اونها از نصب این کوکی ها خودداری کنن و حتی اگه حذفشون هم کنین باز ظاهر میشن! وقتی کوکی زامبی برای اولین بار ظاهر شد، از داده های ذخیره شده تو Adobe Flash ساخته شدن و برای همین هم گاهی اوقات به اونها کوکی فلش گفته میشه و حذفشون واقعاً کار مشکلیه.
آیا میتونم HTTP Cookie هایی که روی کامپیوترم هست رو ببینم؟
اکثر مرورگرها یه سری تنظیماتی دارن که به کاربر اجازه میده ببینه چه کوکی هایی رو رایانه ذخیره شدهاند و به صورت اختیاری اونها رو حذف کنه.
چطور کوکی کامپیوتری روی مرورگرم رو کنترل کنم؟
برای دیدن HTTP Cookie های مرورگر میتونین از تنظیمات استفاده کنین، و ابزار Clear Private Data نیز میتونه تو هر مرورگی کوکیها رو حذف کنه. فقط با پاک کردن کوکی ممکنه با یه مشکل روبرو بشین و اون اینه که شما رو از حساب کاربری سایت هایی که استفاده میکنین بیرون میکنه، یا اصطلاحاً Log out میشین. اگه دلتون میخواد تو اون وبسایت ها بمونین اما کوکی ها رو پاک کنین میتونین همه کوکیها به جز اونهایی برای اون سایت خاص استفاده میشه رو مسدود کنین.
ضررهای کوکیهای کامپیوتری
از اون جایی که داده ها تو کوکی ها تغییر نمیکنند پس میگیم که یه کوکی کامپیوتری به خودی خود مضر نیست! اونها نمیتونن کامپیوتر رو با ویروس یا بدافزارهای دیگه آلوده کنن، اگرچه برخی از حملات سایبری میتونن کنترل کوکیها رو به دست بگیرن و بعد ازاون برن سراغ مرورگر!
این خطر هم به خاطر این وجود داره که اونها میتونن تاریخچه افراد رو ردیابی کنن و یه همچین ویژگی میتونه هکرها رو ترغیب به استفاده نادرست از این تکنولوژی کنه!
چه زمانیها کوکی ها ساخته میشن؟
نوشتن داده ها به یه HTTP Cookie معمولاً هنگام بارگیری یه صفحه وب جدید انجام میشه، مثلاً بعد از فشردن دکمه ارسال، صفحه مدیریت دادهها مسئول ذخیره مقادیر تو یه کوکی کامپیوتری هستند. اگه کاربر غیرفعال کردن کوکی رو انتخاب کرده باشه، عملیات نوشتن ناموفق میشه و سایت های بعدی که به کوکی تکیه دارن، یا باید یه سری اقدام پیش فرض انجام بدن و یا از کاربر بخوان که اطلاعاتی که قرار بوده تو کوکی ذخیره بشه رو دوباره وارد کنه.
چرا از HTTP Cookie استفاده میشه؟
HTTP Cookie یه راه حل مناسب برای حمل اطلاعات از یه بخش وبسایت به بخش دیگه یا حمل اون بین صفحات مرتبطه، بدون این که نیاز به بارگیری یه دستگاه سرور با حجم عظیمی از داده ها داشته باشیم. ذخیره داده روی سرور بدون کوکی کامپیوتری مشکل ساز میشه چون که بازیابی اطلاعات کاربر خاص بعد از هر بار ورود زمانبر و و مشکله.
اگه مقدار زیادی از اطلاعات برای ذخیره وجود داشته باشه، میتونیم از یه کوکی کامپیوتری به عنوان ابزاری برای شناسایی یه کاربر معین استفاده کرد تا اطلاعات بیشتر تو پایگاه داده سمت سرور جستجو بشه. مثلاً وقتی یه کاربر برای دفعه اول وارد یه سایت میشه اطلاعاتی مثل نام کاربری، رمز عبور، آدرس و غیره رو وارد میکنه سپس این اطلاعات ذخیره میشن و از نام کاربری به عنوان کلید استفاده میکنن! دفعات بعدی وقتی که همون سایت بارگذاری میشه، سرور اطلاعات کوکی ها رو میخونه تا بتونه نام کاربری که قبلاً وارد شده رو پیدا کنه و اطلاعات کاربر رو از پایگاه های داده بازیابی کنه بدون این که به دوباره وارد کردن اونها نیازی باشه.
کاربردهای کوکی کامپیوتری
تا اینجا هم از مدلها و طعمهای مختلف کوکی رو براتون گفتم هم دونسین که مزایا و معایبش چیه، حالا میخوام یه دسته بندی کوچیک از کاربردهای این تکنولوژی براتون آماده کنم:
- شناسایی کاربران برای ورود خودکار مجددشون
- آمارگیری و جلوگیری از انجام یک عمل بیش از دفعات مشخص شده
- انجام تنظیمات موقتی و شخصی سازی ها توسط کاربر
- استفاده به عنوان اهداف تبلیغاتی و مانیتور کردن کاربران
HTTP Cookie تاریخ انقضا داره!
این یه مشخصه ضروری برای نصب کوکی ها نیست اما در اکثر اونها موقعی که دارن ساخته میشن یه تاریخی به عنوان تاریخ انقضا مشخص میشه و وقتی به اون تاریخ میرسیم، HTTP Cookie توسط مرورگر حذف میشه. در صورتی که این پارامتر مشخص نشده باشه یه نشست یا Session پس از بسته شدن مرورگر حذف خواهد شد! این زمان استاندارد به صورت زیر تعیین میشه:
Expires=WDY, DD Mon YYYY HH:MM:SS GMT;
قسمت اول به همراه DD شامل سه حرف روز است، مثل Wednesday ، بعد کلمه Mon که برای نام ماه و بعد YYYY برای سال به صورت میلادی، HH برای ساعت، MM دقیقه و SS برای ثانیه است.
کوکی کامپیوتری رو قبول کنیم یا حذف؟
شما میتونین قسمت HTTP Cookie رو در مرورگر خودتون پیدا کنین، معمولاً زیر قسمت Setting – Privacy ، و بعد رو باکس کوکی ها کلیک کنین! بعضی اوقات یه گزینه با عنوان “َAllow local data” نشون داده میشه. حذف کوکی های معمولی کار سختی نیست اما بعداً برای Navigate کردن تو برخی از سایت های خاص ممکنه یکم مشکل پیش بیاد. بدون کوکی کامپیوتری، کاربر ممکنه برای هر بازدید مجداد داده های خودش رو وارد کنه و خیلی کار حوصله سربری میشه!
قبل از این که کوکی رو حذف کنین، ببینین به همون اندازهای که فکر میکنین استفاده از وبسایت بدون کوکی کامپیوتری راحته یا نه! در بیشتر موارد چون کوکی تجربه کاربری رو بهبود میبخشه، خیلی مفیده اما خب باید خیلی حواستون باشه و مدام بهشون رسیدگی بشه.
حرف آخر
این تکنولوژی به طور گستردهای در اینترنت استفاده میشه چون باعث عملکرد قوی سایت توسط ارائه محتوای مفید برای هر کاربر میشه و حتی تو برخی از موارد سایت ها بدون حضور HTTP Cookie نمیتونن به درستی فعالیت کنن. این تکنولوژی همچنین به وبسایت ها اجازه میده تا درمورد کاربران خودشون و صفحاتی که اونها بازدید میکنند اظلاعاتی رو به دست بیارن و رفتار مخاطب رو درک کنن و برای افزایش تجربه کاربری از اونها استفاده کنن ولی خب مثل هر تکنولوژی که یه قسمت تاریکی داره این کوکیها هم میتونن برای اهداف غیر اخلاقی مورد استفاده قرار بگیرن به خاطر همین هم این که راجع به اونها و عملکردشون اطلاعات داشته باشین خیلی ضروریه و میتونه تو این دنیای اینترنتی گسترده و پیچیده بهتون کمک کنه!