آشنایی با Session در php

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

طراحی سایت با php

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

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

برای مثال ممکن است یک سایت عبارت زیر را در Cookie هر کاربر ذخیره کند:

بدیهی است که شناسه کاربر و نام کاربری به ازای هر کاربر وارد شده به سایت متفاوت خواهد بود.

Session چیست؟

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

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

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

به مثال زیر توجه کنید:

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

Session در php

زبان php برای مدیریت کوکی و Session دستورات مختلفی را در اختیار برنامه‌نویسان قرار می‌دهد.

استفاده از متغیر سراسری «‎$_SESSION» روشی آسان برای خواندن و نوشتن اطلاعات Session در php تعبیه شده است. البته استفاده از این متغیر وابسته به فراخوانی دستور «session_start» پیش از ارسال هرگونه محتوا به سمت مشتری است.

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

به مثال زیر توجه کنید:

دستورات php برای مدیریت Session دارای گستردگی و امکانات بیشتری هستند. برای کسب اطلاعات بیشتر اینجا کلیک کنید.


مشاهده‌ی تمامی نوشته‌ها در گروه: php. ‏ فهرست برچسب‌ها: , , , , .

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *