</>مدرسه زیب‌موجیاد بگیر، تمرین کن، بساز
مدرسهPHPدرس 5
درس 5 از 8 · ۴۰ دقیقه

Session و Cookie؛ یادآوری کاربر

تفاوت دادهٔ سمت سرور و سمت مرورگر را می‌فهمی و برای ورود کاربر، سبد خرید و تنظیمات، ابزار درست را انتخاب می‌کنی.

۰امتیاز شما
نقشه این درس

بعد از این درس دقیقاً چه بلدی؟

  • Session و Cookie را مقایسه کنی
  • برای وضعیت ورود Session بسازی
  • اطلاعات حساس را داخل Cookie نگذاری
به زبان زندگی واقعی

Session مثل شماره کمد امانات است

کاربر فقط یک شماره شناسایی همراه دارد؛ وسایل اصلی داخل کمد امن فروشگاه می‌ماند. Cookie کارت کوچکی در مرورگر است، اما داده Session معمولاً روی سرور نگهداری می‌شود.

نکته مهم برای شروع PHP

Session: برای وضعیت ورود و داده موقت حساس‌تر مناسب است. قبل از استفاده session_start را اجرا کن.

چرا مهم است؟ برای وضعیت ورود و داده موقت حساس‌تر مناسب است. قبل از استفاده session_start را اجرا کن.

اولین تمرین تو: $isLoggedIn را false کن و خروجی را اجرا کن. سپس پیام مهمان را تغییر بده.

مفهوم‌های اصلی

اول بفهم، بعد کد بنویس

Session

برای وضعیت ورود و داده موقت حساس‌تر مناسب است. قبل از استفاده session_start را اجرا کن.

Cookie

برای ترجیح زبان یا تم مناسب است. کاربر می‌تواند آن را تغییر دهد؛ پس منبع قابل اعتماد امنیتی نیست.

پایان نشست

در خروج، داده نشست را پاک و شناسه را تازه کن. بعد از ورود نیز session_regenerate_id کمک مهمی است.

سناریوی واقعی

مثال واقعی: خوش‌آمدگویی به کاربر واردشده

سامانه باید بداند کاربر وارد شده یا نه. در این تمرین وضعیت Session را با یک مقدار بولین شبیه‌سازی می‌کنیم.

ورودی روشنقانون قابل توضیحخروجی قابل بررسی
بازی ساختن کد

قطعه‌ها را به ترتیب درست بچین

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

مرحله ۲ از ۳ · مرتب‌کردن کد
بانک قطعه‌هاقطعه مناسب را انتخاب کن
ترتیب پاسخ تواز بالا به پایین اجرا می‌شود

    هنوز پاسخی بررسی نشده است.

    کارگاه تعاملی

    کد را تغییر بده و نتیجه واقعی را ببین

    این مفسر آموزشی امن، بخش پایه PHP شامل متغیر، محاسبه، رشته، آرایه، تابع‌های ساده و if/else را در مرورگر اجرا می‌کند. کد به سرویس دیگری ارسال نمی‌شود.

    lesson-5.php
    خروجی برنامهمفسر آماده است
    برای دیدن نتیجه، «اجرای کد» را بزن.
    خروجی با تغییر کد دوباره محاسبه می‌شود.
    حالا نوبت توست

    $isLoggedIn را false کن و خروجی را اجرا کن. سپس پیام مهمان را تغییر بده.

    نسخهٔ پروژه واقعی

    این بخش روی سرور چگونه نوشته می‌شود؟

    در پروژه واقعی شناسه کاربر را در Session می‌گذاریم، نه رمز عبور او را. Cookie نشست باید Secure، HttpOnly و SameSite مناسب داشته باشد.

    PHP · Server example
    <?php
    session_start();
    $_SESSION["user_id"] = 42;
    session_regenerate_id(true);
    دام‌های رایج

    این سه اشتباه را انجام نده

    1

    ذخیره رمز عبور یا اطلاعات حساس داخل Cookie

    2

    فراموش‌کردن session_start پیش از استفاده

    3

    اعتماد به شناسه‌ای که کاربر مستقیماً فرستاده است

    آزمون پایان درس

    5 پرسش کوتاه؛ مطمئن شو واقعاً یاد گرفته‌ای

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

    پرسش 1 از 5

    برای نگهداری وضعیت ورود کاربر کدام گزینه مناسب‌تر است؟

    پرسش 2 از 5

    برای یادآوری حالت روشن یا تیره سایت، کدام گزینه مناسب‌تر است؟

    پرسش 3 از 5

    کدام داده را هرگز نباید به شکل خام داخل Cookie ذخیره کنیم؟

    پرسش 4 از 5

    کدام روش نشان می‌دهد این درس را واقعاً فهمیده‌ای؟

    پرسش 5 از 5

    کدام رفتار احتمال خطا را در همین موضوع بیشتر می‌کند؟

    پایان درس 5

    درس را فقط وقتی تمام کن که کد را تغییر داده‌ای

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