بعد از این درس دقیقاً چه بلدی؟
- Session و Cookie را مقایسه کنی
- برای وضعیت ورود Session بسازی
- اطلاعات حساس را داخل Cookie نگذاری
Session مثل شماره کمد امانات است
کاربر فقط یک شماره شناسایی همراه دارد؛ وسایل اصلی داخل کمد امن فروشگاه میماند. Cookie کارت کوچکی در مرورگر است، اما داده Session معمولاً روی سرور نگهداری میشود.
Session: برای وضعیت ورود و داده موقت حساستر مناسب است. قبل از استفاده session_start را اجرا کن.
چرا مهم است؟ برای وضعیت ورود و داده موقت حساستر مناسب است. قبل از استفاده session_start را اجرا کن.
اولین تمرین تو: $isLoggedIn را false کن و خروجی را اجرا کن. سپس پیام مهمان را تغییر بده.
اول بفهم، بعد کد بنویس
Session
برای وضعیت ورود و داده موقت حساستر مناسب است. قبل از استفاده session_start را اجرا کن.
Cookie
برای ترجیح زبان یا تم مناسب است. کاربر میتواند آن را تغییر دهد؛ پس منبع قابل اعتماد امنیتی نیست.
پایان نشست
در خروج، داده نشست را پاک و شناسه را تازه کن. بعد از ورود نیز session_regenerate_id کمک مهمی است.
مثال واقعی: خوشآمدگویی به کاربر واردشده
سامانه باید بداند کاربر وارد شده یا نه. در این تمرین وضعیت Session را با یک مقدار بولین شبیهسازی میکنیم.
قطعهها را به ترتیب درست بچین
روی هر قطعه بزن تا وارد پاسخ شود؛ برای برگرداندن دوباره روی آن بزن. با دکمههای جابهجایی هم میتوانی بدون کشیدن و رهاکردن ترتیب را اصلاح کنی.
کد را تغییر بده و نتیجه واقعی را ببین
این مفسر آموزشی امن، بخش پایه PHP شامل متغیر، محاسبه، رشته، آرایه، تابعهای ساده و if/else را در مرورگر اجرا میکند. کد به سرویس دیگری ارسال نمیشود.
برای دیدن نتیجه، «اجرای کد» را بزن.
راهنماییها مرحلهای هستند؛ اول خودت پیام خطا را بخوان.
$isLoggedIn را false کن و خروجی را اجرا کن. سپس پیام مهمان را تغییر بده.
این بخش روی سرور چگونه نوشته میشود؟
در پروژه واقعی شناسه کاربر را در Session میگذاریم، نه رمز عبور او را. Cookie نشست باید Secure، HttpOnly و SameSite مناسب داشته باشد.
<?php
session_start();
$_SESSION["user_id"] = 42;
session_regenerate_id(true);این سه اشتباه را انجام نده
ذخیره رمز عبور یا اطلاعات حساس داخل Cookie
فراموشکردن session_start پیش از استفاده
اعتماد به شناسهای که کاربر مستقیماً فرستاده است
5 پرسش کوتاه؛ مطمئن شو واقعاً یاد گرفتهای
برای هر پرسش یک پاسخ انتخاب کن. بعد از هر انتخاب، دلیل پاسخ را همانجا میبینی.
برای نگهداری وضعیت ورود کاربر کدام گزینه مناسبتر است؟
برای یادآوری حالت روشن یا تیره سایت، کدام گزینه مناسبتر است؟
کدام داده را هرگز نباید به شکل خام داخل Cookie ذخیره کنیم؟
کدام روش نشان میدهد این درس را واقعاً فهمیدهای؟
کدام رفتار احتمال خطا را در همین موضوع بیشتر میکند؟
درس را فقط وقتی تمام کن که کد را تغییر دادهای
دیدن آموزش کافی نیست؛ یک مقدار را تغییر بده، خروجی را پیشبینی کن و بعد اجرا بزن.