موضوعات پیشرفته · ۹ دقیقه مطالعه

کوکی و نشست (Session)

HTTP بی‌حافظه است؛ Cookie و Session این مشکل را حل می‌کنند (مثلاً «کاربر لاگین است»).

Cookie — ذخیره در مرورگر

setcookie('theme', 'dark', time() + 3600, '/', '', true, true);
$theme = $_COOKIE['theme'] ?? 'light';

دو پارامتر آخر مهم‌اند: secure (فقط HTTPS) و httponly (دور از دسترس JS — ضد XSS).

Session — ذخیره روی سرور

امن‌تر برای داده‌های حساس:

<?php
session_start();            // اول هر صفحه
$_SESSION['user_id'] = 42;

// در صفحهٔ دیگر
session_start();
$id = $_SESSION['user_id'] ?? null;

session_destroy();          // خروج

⚠️ امنیت session

  • بعد از ورود موفق، session_regenerate_id(true) بزن (ضد Session Fixation).
  • هرگز رمز یا داده‌های حساس را در Cookie نگذار؛ فقط شناسه در session.

Cookie یا Session؟

Cookie Session
محل مرورگر سرور
امنیت کمتر بیشتر
کاربرد تنظیمات ساده ورود، داده حساس

فریم‌ورک‌هایی مثل Laravel همهٔ این‌ها را امن و خودکار مدیریت می‌کنند.

برای ثبت پیشرفت و کسب XP وارد شو.

ورود به میدان
→ آپلود فایل (امن)
JSON و استثناها ←