جستجو برای:
  • صفحه اصلی
  • دوره ها
    • حساب کاربری
    • سبد خرید
  • مقالات
 
  • دانلودها
  • تدریس در ساینت
  • سبد خرید
ساینت
  • صفحه اصلی
  • دوره ها
    • آزمون ها
    • حساب کاربری
    • سبد خرید
    • پرداخت
    • استعلام گواهی‌نامه
  • مقالات
  • ساینت TV
  • لایسنس اسپلانک
  • درباره ما
  • اساتید
0
ورود / عضویت

بلاگ

ساینت مقالات امنیت وب کوکی (Cookie) چیست؟ راهنمای جامع برای درک کوکی‌ها در وب

کوکی (Cookie) چیست؟ راهنمای جامع برای درک کوکی‌ها در وب

1404/03/19
ارسال شده توسط ساینت
امنیت وب
165 بازدید
کوکی (Cookie) چیست؟
زمان مطالعه: 7 دقیقه

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

با وجود کارکردهای مفید کوکی‌ها، نگرانی‌های زیادی پیرامون حریم خصوصی و امنیت اطلاعات کاربران نیز مطرح است. برخی از وب‌سایت‌ها و شرکت‌های تبلیغاتی از کوکی‌ها برای رهگیری فعالیت‌های آنلاین کاربران استفاده می‌کنند، که می‌تواند منجر به نقض حریم خصوصی شود. همچنین در صورت ضعف در پیاده‌سازی امنیتی، کوکی‌ها می‌توانند هدف حملاتی مانند سرقت نشست (Session Hijacking) یا تزریق اسکریپت (XSS) قرار گیرند. از این رو، درک دقیق نحوه کار کوکی‌ها، انواع آن‌ها و چگونگی محافظت از اطلاعات از اهمیت زیادی برخوردار است—چه برای کاربران عادی و چه برای توسعه‌دهندگان وب.

کوکی (Cookie) چیست؟

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

کوکی‌ها برای حفظ وضعیت بین درخواست‌های HTTP، که ذاتاً بدون حالت (stateless) هستند، بسیار حیاتی‌اند. به‌عبارتی دیگر، بدون کوکی‌ها، هر بار که کاربر صفحه‌ای جدید را بارگذاری می‌کرد، وب‌سایت هیچ اطلاعاتی از تعاملات قبلی او نداشت. استفاده از کوکی باعث می‌شود وب‌سایت‌ها بتوانند تجربه‌ای پایدار، کارآمد و متناسب با نیازهای هر کاربر ارائه دهند.

مثال ساده از کوکی (Cookie)

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

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

انواع کوکی‌ها

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

1. کوکی‌های موقتی (Session Cookies)

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

2. کوکی‌های دائمی (Persistent Cookies)

کوکی‌های دائمی برای مدت زمان مشخصی که توسط سرور تعیین می‌شود، در مرورگر باقی می‌مانند—حتی پس از بسته شدن مرورگر. از این کوکی‌ها برای نگه‌داری اطلاعاتی مانند “مرا به خاطر بسپار”، تنظیمات زبان، یا رفتارهای تحلیلی کاربران استفاده می‌شود.
مثال: اگر هنگام ورود به یک سایت گزینه‌ی «مرا به خاطر بسپار» را انتخاب کرده باشید، سایت از کوکی دائمی برای شناسایی شما در دفعات بعدی استفاده خواهد کرد.

3. کوکی‌های شخص اول (First-Party Cookies)

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

4. کوکی‌های شخص ثالث (Third-Party Cookies)

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

5. کوکی‌های امن (Secure Cookies)

این کوکی‌ها تنها از طریق پروتکل HTTPS قابل ارسال هستند. این ویژگی امنیتی از ارسال کوکی از طریق ارتباطات ناامن HTTP جلوگیری کرده و از آن‌ها در برابر استراق سمع محافظت می‌کند.
مثال: کوکی‌های نشست در سامانه‌های بانکی معمولاً از نوع Secure هستند.

6. کوکی‌های HttpOnly

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

7. کوکی‌های SameSite

این نوع کوکی‌ها با مشخصه‌ای به نام SameSite کنترل می‌شوند تا تعیین شود آیا کوکی‌ها باید در درخواست‌هایی که از منابع دیگر (سایت‌های خارجی) می‌آیند ارسال شوند یا نه. این ویژگی مانع حملاتی مانند CSRF می‌شود.
مقادیر رایج:

  • Strict: فقط در درخواست‌های از همان دامنه ارسال می‌شود.
  • Lax: در برخی درخواست‌های خارجی (مثل کلیک روی لینک) ارسال می‌شود.
  • None: در همه درخواست‌ها ارسال می‌شود، ولی فقط در صورتی که Secure نیز باشد.

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

کوکی‌ها چگونه کار می‌کنند؟

کوکی‌ها بخشی از پروتکل HTTP هستند و عملکرد آن‌ها مبتنی بر تعامل میان مرورگر کاربر و سرور وب‌سایت است. زمانی که یک کاربر برای اولین بار وارد یک وب‌سایت می‌شود، سرور می‌تواند در پاسخ به درخواست HTTP، یک هدر به نام Set-Cookie به مرورگر ارسال کند. این هدر حاوی اطلاعاتی مانند نام کوکی، مقدار آن، زمان انقضا، مسیر معتبر، دامنه، و ویژگی‌های امنیتی (مانند HttpOnly و Secure) است.

مرورگر این کوکی را ذخیره می‌کند و در درخواست‌های بعدی به همان دامنه، به طور خودکار مقدار کوکی را در هدر Cookie به سرور بازمی‌گرداند. این فرآیند به سرور این امکان را می‌دهد که کاربر را شناسایی کرده، تنظیمات شخصی‌اش را بازیابی کند یا نشست (session) او را مدیریت نماید. به بیان ساده‌تر، کوکی‌ها راهی هستند برای «به خاطر سپردن» کاربران در میان درخواست‌های جداگانه HTTP که ذاتاً بدون حالت (stateless) هستند.

مراحل عملکرد کوکی به زبان ساده:

1. درخواست اولیه به وب‌سایت:
کاربر آدرس یک وب‌سایت را در مرورگر وارد می‌کند و یک درخواست HTTP به سرور ارسال می‌شود.

2. پاسخ سرور همراه با کوکی:
اگر سایت بخواهد اطلاعاتی را ذخیره کند (مثلاً شناسه نشست یا زبان انتخاب‌شده)، سرور هدر Set-Cookie را در پاسخ HTTP ارسال می‌کند:

Set-Cookie: session_id=abc123; Expires=Wed, 15-May-2025 12:00:00 GMT; Path=/; Secure; HttpOnly

3. ذخیره کوکی توسط مرورگر:
مرورگر این کوکی را ذخیره می‌کند و در حافظه یا فایل‌های ذخیره‌سازی خود نگه می‌دارد.

4. ارسال کوکی در درخواست‌های بعدی:
از این پس، تا زمانی که کوکی معتبر باشد، مرورگر در هر درخواست به همان دامنه، کوکی را در هدر زیر ارسال می‌کند:

Cookie: session_id=abc123

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

نکات فنی مهم:

  • مرورگر فقط کوکی‌هایی را ارسال می‌کند که مربوط به دامنه و مسیر (Path) فعلی باشند.
  • اگر کوکی زمان انقضا (Expires یا Max-Age) نداشته باشد، یک کوکی موقتی (Session Cookie) خواهد بود.
  • کوکی‌هایی که ویژگی Secure داشته باشند، فقط از طریق ارتباط HTTPS ارسال می‌شوند.
  • کوکی‌هایی با HttpOnly از دسترس JavaScript خارج‌اند و امنیت را در برابر حملات XSS افزایش می‌دهند.

مثالی از یک کوکی واقعی:

Set-Cookie: language=fa; Path=/; Expires=Tue, 30 Jun 2025 10:00:00 GMT; Secure; SameSite=Lax

در این مثال:

  • مقدار کوکی language برابر با fa است (برای انتخاب زبان فارسی).
  • مسیر آن / است، یعنی در تمام صفحات وب‌سایت معتبر است.
  • فقط در ارتباطات امن (HTTPS) ارسال می‌شود.
  • تنظیمات SameSite باعث می‌شود فقط در برخی درخواست‌های خارجی ارسال شود.

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

مزایای استفاده از کوکی‌ها

  • تجربه کاربری بهتر: ذخیره تنظیمات کاربر مانند زبان، پوسته و …
  • ورود خودکار به حساب کاربری
  • پیگیری سبد خرید در فروشگاه‌های آنلاین
  • تحلیل رفتار کاربران برای بهبود خدمات

معایب و نگرانی‌های امنیتی

  • نقض حریم خصوصی: برخی کوکی‌ها می‌توانند فعالیت کاربر را در سایت‌های مختلف رهگیری کنند.
  • حملات XSS: در صورت عدم پیاده‌سازی صحیح، کوکی‌ها می‌توانند هدف حمله قرار بگیرند.
  • سرقت نشست (Session Hijacking): اگر کوکی حاوی اطلاعات نشست باشد و به سرقت برود، مهاجم می‌تواند نقش کاربر را تقلید کند.

راهکارهای امنیتی برای محافظت از کوکی‌ها

  1. استفاده از ویژگی HttpOnly
    از دسترسی جاوااسکریپت به کوکی جلوگیری می‌کند.

  2. استفاده از Secure
    باعث می‌شود کوکی فقط در ارتباطات HTTPS ارسال شود.

  3. استفاده از SameSite
    از ارسال کوکی به سایت‌های دیگر جلوگیری می‌کند و مانع حملات CSRF می‌شود.

  4. رمزنگاری محتویات کوکی
    تا در صورت دسترسی غیرمجاز، اطلاعات قابل استفاده نباشد.

جایگزین‌های کوکی

  • LocalStorage / SessionStorage
    این فناوری‌ها نیز داده را در مرورگر ذخیره می‌کنند، اما تفاوت‌هایی با کوکی دارند، از جمله اینکه به صورت پیش‌فرض در درخواست‌های HTTP ارسال نمی‌شوند.

  • IndexedDB
    پایگاه داده‌ای برای ذخیره‌ی داده‌های ساختارمند در مرورگر است.

نتیجه‌گیری و خلاصه مقاله

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

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

اشتراک گذاری:
برچسب ها: cookiefirst-party cookieHttpOnlylocalStoragepersistent cookieSameSiteSecuresession cookieSession Hijackingthird-party cookieامنیت سایبریامنیت وبتجربه کاربریتحلیل رفتار کاربرتنظیمات کاربریتوسعه وبحریم خصوصیحملات CSRFحملات XSSداده‌های کاربرذخیره اطلاعاتذخیره‌سازی مرورگررمزنگاری کوکیسبد خرید آنلاینطراحی وبفایل متنی مرورگرکوکیکوکی در HTMLمرورگرنشست کاربروب
در تلگرام
کانال ما را دنبال کنید!
در اینستاگرام
ما را دنبال کنید!
مطالب زیر را حتما بخوانید
  • تصاحب حساب کاربری (Account Takeover) چیست؟
    تصاحب حساب کاربری (Account Takeover) چیست؟

    1.39k بازدید

  • Same Origin Policy چیست
    بررسی سیاست منشأ یکسان (Same Origin Policy) و نقش آن در امنیت وب

    308 بازدید

  • HSTS (HTTP Strict Transport Security) چیست؟
    HSTS (HTTP Strict Transport Security) چیست؟

    338 بازدید

  • آشنایی با Reverse Proxy
    ریورس پراکسی (Reverse Proxy) چیست؟

    330 بازدید

  • آشنایی با OWASP
    آشنایی با OWASP راهکاری کامل برای امنیت نرم‌افزارهای وب

    342 بازدید

  • بررسی جامع دوره WEB-200 شرکت OffSec
    بررسی جامع دوره WEB-200 شرکت OffSec: آموزش ارزیابی امنیتی برنامه‌های وب

    470 بازدید

قدیمی تر تصاحب حساب کاربری (Account Takeover) چیست؟

دیدگاهتان را بنویسید لغو پاسخ

برای نوشتن دیدگاه باید وارد بشوید.

جدیدترین نوشته ها
  • کوکی (Cookie) چیست؟ راهنمای جامع برای درک کوکی‌ها در وب
  • تصاحب حساب کاربری (Account Takeover) چیست؟
  • بررسی سیاست منشأ یکسان (Same Origin Policy) و نقش آن در امنیت وب
  • مقایسه تخصصی بین WAF و Firewall با هدف درک کاربرد هرکدام
  • آشنایی با Reverse Shell و اهمیت آن در امنیت سایبری
  • HSTS (HTTP Strict Transport Security) چیست؟
  • آشنایی با Cipher Suite: سنگ‌بنای ارتباطات امن در شبکه‌های مدرن
  • ریورس پراکسی (Reverse Proxy) چیست؟
  • آشنایی با OWASP راهکاری کامل برای امنیت نرم‌افزارهای وب
  • راهنمای جامع SQLmap: ابزار قدرتمند برای شناسایی و بهره‌برداری از آسیب‌پذیری‌های SQL
محصولات
  • دوره آموزش فورتی وب
    دوره آموزش FortiWeb
  • دوره آموزش ارزیابی آسیب پذیری های با Nessus
    دوره آموزش ارزیابی آسیب‌پذیری‌ها با ابزار Nessus
  • دوره آموزش FortiGate
    دوره آموزش فایروال FortiGate
  • دوره آموزش CISSP2021
    دوره آموزش CISSP
  • آموزش eve
    آموزش کامل شبیه‌ساز شبکه EVE-NG
  • امنیت سوئیچ های سیسکو
    پیاده‌سازی امنیت لایه 2 روی سوئیچ‌های سیسکو - Layer 2 Security
جدیدترین دوره:
آموزش Nessus
درباره ساینت

مجموعه آموزشی ساینت ارائه دهنده به‌روز ترین آموزش‌های ویدئویی در زمینه امنیت شبکه و امنیت سایبری با بالاترین کیفیت می‌باشد.

دوره های امنیت

  • آموزش امنیت شبکه
  • مقالات امنیت شبکه
  • آموزش +Security
  • آموزش CISSP
  • آموزش eve
  • آموزش FortiGate
  • آموزش CEH
  • امنیت سایبری
  • آموزش امنیت
  • امنیت شبکه
  • امنیت لایه 2
  • مدارک سیسکو
  • آموزش Nessus
  • آموزش FortiWeb
  • دوره CEH
مجوزها
ساینت در زمینه آموزش امنیت و شبکه، تحت قوانین کشور ایران فعالیت می‌کند. استفاده از مطالب با ذکر منبع و لینک مستقیم مجاز است.
ورود
استفاده از موبایل
استفاده از آدرس ایمیل
آیا هنوز عضو نیستید؟ اکنون عضو شوید
ورود با گوگل
بازنشانی رمز عبور
استفاده از موبایل
استفاده از آدرس ایمیل
عضویت
قبلا عضو شدید؟ اکنون وارد شوید
ورود با گوگل
X

-> دوره‌های Security+ و CEH رو تا پایان تیرماه میتونید به صورت رایگان دریافت کنید.

‌دریافت رایگان دوره‌ها

ورود

رمز عبور را فراموش کرده اید؟

هنوز عضو نشده اید؟ عضویت در سایت