راهنماها

کوکی چیست؟ وب‌سایت‌ها چطور شما را به یاد می‌آورند

کوکی متن کوچکی است که یک وب‌سایت از مرورگر شما می‌خواهد ذخیره کند و سپس در هر بازدید بعدی از همان سایت به آن برگرداند. به این ترتیب یک وب‌سایت «شما را به یاد می‌آورد»: اینکه وارد شده‌اید، چه چیزی در سبد خریدتان است، و کدام زبان را انتخاب کرده‌اید. کوکی‌ها فقط داده‌اند، نه برنامه، اما چون می‌توانند شما را شناسایی کنند، هم برای امنیت و هم برای حریم خصوصی اهمیت دارند.

چرا وقتی با هوش مصنوعی می‌سازید اهمیت دارد

کوکی‌ها زیر چند امکانی قرار دارند که از یک سازندهٔ اپ با هوش مصنوعی می‌خواهید، اغلب بی‌آنکه کلمهٔ «کوکی» مطرح شود:

  • ورود. در بیشتر اپ‌های وب، «در سیستم بمان» یعنی یک کوکی نشست. نحوهٔ تنظیم آن کوکی تعیین می‌کند که دزدیدنش چقدر آسان است.
  • سبد خرید و ترجیحات. سبدی که با تازه‌کردن صفحه از بین نمی‌رود اغلب به یک کوکی یا فضای ذخیرهٔ مرورگر متکی است.
  • تحلیل و تبلیغات. افزودن Google Analytics، پیکسل Meta یا ویجت چت معمولاً کوکی‌هایی از شرکت‌های دیگر هم اضافه می‌کند.
  • اعلامیه‌های قانونی. در بسیاری از جاها، برخی کوکی‌ها به رضایت قبلی بازدیدکننده نیاز دارند، و بنرهای کوکی از همین‌جا می‌آیند.

اگر بدانید اپتان چه کوکی‌هایی تنظیم می‌کند و چرا، می‌توانید انتخاب‌های بهتری دربارهٔ تنظیمات امنیتی، رضایت و سیاست حریم خصوصی‌تان داشته باشید.

یک مثال روزمره

به کاپشن‌دار رستوران فکر کنید. کاپشنتان را تحویل می‌دهید و یک برگهٔ شمارهدار می‌گیرید. برگه کاپشن را در خود ندارد، فقط یک شماره دارد. هر بار که به پیشخوان برمی‌گردید برگه را نشان می‌دهید و کارمند می‌داند کاپشن کدام است.

کوکی نشست همین‌طور کار می‌کند. وقتی وارد می‌شوید، سرور جزئیات شما را در سمت خودش نگه می‌دارد و یک برگه به مرورگرتان می‌دهد، یک شناسهٔ تصادفی بلند. مرورگر آن برگه را با هر درخواست نشان می‌دهد و سرور می‌فهمد شما چه کسی هستید. هر کس برگه را کپی کند می‌تواند کاپشن را تحویل بگیرد، و به همین دلیل کوکی‌های ورود باید محافظت شوند.

کوکی واقعاً چطور کار می‌کند

۱. شما به یک سایت می‌روید. پاسخ سرور شامل یک سرآیند مثل Set-Cookie: session_id=8f3k...; HttpOnly; Secure; SameSite=Lax است. ۲. مرورگر آن را ذخیره می‌کند و به دامنهٔ آن سایت وصل می‌کند. ۳. در هر درخواست بعدی به همان سایت، مرورگر خودکار Cookie: session_id=8f3k... را اضافه می‌کند. ۴. سرور آن را می‌خواند و می‌داند این شما هستید.

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

انواع کوکی

نوعمعنیمثال
کوکی نشستتاریخ انقضا ندارد؛ وقتی نشست مرورگر تمام شود حذف می‌شودیک مرحلهٔ کوتاه‌مدت پرداخت
کوکی ماندگارتاریخ انقضا دارد (Expires یا Max-Age) و با راه‌اندازی دوباره می‌ماند«مرا ۳۰ روز به یاد بیاور»
اول‌شخصتوسط سایتی که در نوار نشانی است تنظیم می‌شودورود شما به همان سایت
شخص ثالثتوسط دامنهٔ دیگری که در صفحه جاسازی شده تنظیم می‌شودشناسهٔ ردیابی یک شبکهٔ تبلیغاتی
کاملاً ضروریبرای سرویسی لازم است که کاربر درخواستش را کردهنشست ورود، سبد خرید
غیرضروریبرای صاحب سایت مفید است، نه ضروریتحلیل، تبلیغات، آزمون A/B

مرورگرها به‌تدریج کوکی‌های شخص ثالث را محدود کرده‌اند، چون برای ردیابی مردم در سایت‌های مختلف استفاده می‌شوند. چند مرورگر بزرگ اکنون بسیاری از آن‌ها را به‌طور پیش‌فرض مسدود می‌کنند، و جزئیات دائماً تغییر می‌کند، پس هیچ چیز مهمی را روی کوکی‌های شخص ثالث نسازید.

یک مثال کاربردی: یک فروشگاه آنلاین کوچک

فرض کنید یک فروشگاه شمع دست‌ساز ساخته‌اید. کوکی‌هایی که یک نسخهٔ منطقی تنظیم می‌کند و دلیل هر کدام این است.

session: وقتی صاحب فروشگاه یا مشتری وارد می‌شود تنظیم می‌شود. فقط یک شناسهٔ تصادفی نگه می‌دارد؛ داده‌های واقعی نشست را سرور نگه می‌دارد. تنظیمات: HttpOnly (اسکریپت‌های صفحه نمی‌توانند آن را بخوانند)، Secure (فقط روی HTTPS فرستاده می‌شود)، SameSite=Lax (در بیشتر درخواست‌هایی که سایت‌های دیگر شروع می‌کنند فرستاده نمی‌شود). کاملاً ضروری.

cart_id: به بازدیدکننده‌ای که وارد نشده امکان می‌دهد سبدش را نگه دارد. به سبدی که در پایگاه داده ذخیره شده اشاره می‌کند. کاملاً ضروری، چون بازدیدکننده خواسته چیزی به سبد اضافه کند.

theme: حالت تاریک را به خاطر می‌سپارد. این می‌تواند یک کوکی باشد، اما هرگز لازم نیست به سرور برسد، پس localStorage مرورگر ساده‌تر است.

کوکی‌های تحلیل: اگر یک ابزار تحلیل نصب کنید اضافه می‌شوند. این‌ها غیرضروری‌اند. در اتحادیهٔ اروپا و بریتانیا معمولاً پیش از تنظیم به رضایت نیاز دارند، پس اسکریپت تحلیل باید تا وقتی بازدیدکننده روی «پذیرفتن» کلیک نکرده صبر کند.

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

اصطلاحات رایج

اصطلاحمعنی
کوکییک جفت نام–مقدار کوچک که مرورگر ذخیره و به سایت برمی‌گرداند.
Set-Cookieسرآیند پاسخی که سرور برای ساختن یا به‌روزرسانی کوکی استفاده می‌کند.
نشستسابقهٔ سرور از کاربر واردشده، که به یک شناسهٔ کوکی وصل است.
HttpOnlyجلوی خواندن کوکی توسط جاوااسکریپت صفحه را می‌گیرد، که آسیب اسکریپت‌های تزریق‌شده را محدود می‌کند.
Secureکوکی فقط روی اتصال‌های رمزگذاری‌شدهٔ HTTPS فرستاده می‌شود.
SameSiteکنترل می‌کند که کوکی در درخواست‌های سایت‌های دیگر فرستاده شود یا نه (Strict، Lax یا None).
Expires / Max-Ageزمانی که کوکی باید حذف شود.
Domain / Pathکدام نشانی‌های سایت کوکی را دریافت می‌کنند.
localStorageفضای ذخیرهٔ مرورگر که کد صفحه می‌تواند بخواند، اما به‌طور خودکار به سرور فرستاده نمی‌شود.
XSSاسکریپتینگ میان‌سایتی: اسکریپت مهاجم که در صفحهٔ شما اجرا می‌شود و ممکن است داده‌ها را بدزدد.
CSRFجعل درخواست میان‌سایتی: سایت دیگری مرورگر را فریب می‌دهد تا با کوکی‌های شما درخواستی بفرستد.
رضایت کوکیپرسیدن اجازهٔ بازدیدکننده پیش از تنظیم کوکی‌های غیرضروری.

اشتباهات و باورهای رایج

  • «کوکی‌ها ویروس‌اند.» آن‌ها متن ساده‌اند. نمی‌توانند روی رایانهٔ شما کد اجرا کنند.
  • گذاشتن داده‌های حساس در کوکی. یک شناسهٔ تصادفی نگه دارید و جزئیات را روی سرور نگه دارید.
  • توکن‌های ورود در localStorage. هر اسکریپتی که روی صفحه اجرا شود، از جمله یک اسکریپت تزریق‌شده، می‌تواند localStorage را بخواند. کوکی HttpOnly اصلاً توسط اسکریپت‌های صفحه قابل خواندن نیست.
  • نداشتن Secure و HttpOnly. این دو پرچم ارزان‌اند و حفره‌های رایج را می‌بندند.
  • فرض اینکه بنر همه‌چیز را پوشش می‌دهد. بنری که تحلیل را پیش از کلیک «پذیرفتن» بار می‌کند کارش را انجام نمی‌دهد.
  • فراموش کردن خروج. خروج باید کوکی را حذف کند و نشست را روی سرور پایان دهد، تا کوکی کپی‌شده دیگر کار نکند.
  • «اگر از کوکی استفاده نکنم، قوانین حریم خصوصی شامل من نمی‌شوند.» قوانینی مانند GDPR داده‌های شخصی را هرجا ذخیره شوند پوشش می‌دهند، از جمله localStorage، اثر انگشت دستگاه و لاگ‌های سرور.

از سازندهٔ اپ با هوش مصنوعی‌تان چه بخواهید

  • «هر کوکی که اپ تنظیم می‌کند، کاری که انجام می‌دهد، مدت اعتبارش و اینکه آیا کاملاً ضروری است را فهرست کن.»
  • «برای نشست ورود از یک کوکی HttpOnly، Secure، SameSite=Lax استفاده کن. توکن‌های احراز هویت را در localStorage نگذار.»
  • «در کوکی فقط یک شناسهٔ تصادفی نشست نگه دار؛ داده‌های نشست را روی سرور ذخیره کن.»
  • «هنگام خروج، کوکی را پاک کن و نشست را روی سرور باطل کن.»
  • «اسکریپت‌های تحلیل یا بازاریابی را تا وقتی بازدیدکننده نپذیرفته بار نکن، و انتخابش را به خاطر بسپار.»
  • «یک بخش ساده دربارهٔ کوکی به سیاست حریم خصوصی اضافه کن که با فهرست بالا جور باشد.»

برای بخش رضایت، چطور رضایت کوکی را اضافه کنیم را ببینید. برای اینکه کوکی‌ها با ورود چطور جور می‌شوند، احراز هویت چیست را بخوانید.

کوکی‌ها در Mythex

Mythex یک ورود داخلی برای کاربران اپتان ارائه نمی‌دهد، پس کوکی‌هایی که اپتان تنظیم می‌کند از کد خود اپ و ابزارهایی که به آن اضافه می‌کنید می‌آیند؛ برای نمونه یک کوکی نشست از روشی که برای احراز هویت انتخاب می‌کنید. در چت از ایجنت بخواهید فهرستشان کند، تنظیماتشان را محکم‌تر کند، یا یک بنر رضایت اضافه کند، و نتیجه را در پیش‌نمایش زنده بررسی کنید پیش از انتشار. دستور نقطهٔ شروع خوبی برای افزودن ورود به اپ در مستندات است، و امنیت برای اپ‌هایی که می‌سازید توضیح می‌دهد چطور کلیدها و رازها را از مرورگر دور نگه دارید.

پرسش‌ها

کوکی در یک وب‌سایت چیست؟

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

آیا کوکی‌ها خطرناک‌اند؟

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

تفاوت کوکی‌های اول‌شخص و شخص ثالث چیست؟

کوکی اول‌شخص را خود سایتی که در نوار نشانی می‌بینید تنظیم می‌کند، مثل کوکی ورود. کوکی شخص ثالث را دامنهٔ دیگری که در صفحه جاسازی شده تنظیم می‌کند، مثل یک شبکهٔ تبلیغاتی، و اغلب برای دنبال کردن شما در سایت‌های زیادی استفاده می‌شود.

آیا به بنر کوکی نیاز دارم؟

بستگی دارد که کاربرانتان کجا هستند و از چه کوکی‌هایی استفاده می‌کنید. در اتحادیهٔ اروپا و بریتانیا، کوکی‌های غیرضروری مانند تحلیل یا تبلیغات معمولاً به رضایت قبلی نیاز دارند، در حالی که کوکی‌هایی که برای خود سرویس کاملاً ضروری‌اند، مانند نشست ورود، معمولاً نیازی به آن ندارند. قوانین مربوط به خودتان را بررسی کنید.

تفاوت کوکی‌ها و localStorage چیست؟

هر دو داده را در مرورگر ذخیره می‌کنند. کوکی‌ها در هر درخواست به‌طور خودکار به سرور فرستاده می‌شوند، که برای ورود مناسب است. localStorage در مرورگر می‌ماند و فقط کد خود صفحه آن را می‌خواند، که برای ترجیحاتی مثل تم مناسب است.

Mythex · Pricing · با هوش مصنوعی هر چیزی بسازید · قالب‌های وب‌سایت و اپلیکیشن · مقایسه‌ی Mythex · واژه‌نامه‌ی ساخت اپلیکیشن با هوش مصنوعی · ابزارهای رایگان ساخت اپلیکیشن با هوش مصنوعی · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)