رمزگذاری Session در php

  • آپدیت شده در تاریخ

رمزگذاری Session در php

عملیات رمزگذاری Session در php بصورت خودکار در هنگام ذخیره داده سیشن  در حافظه (memory) و خواندن اطلاعات session انجام می شود . هنگام رمزگذاری (encode) , آرایه $_SESSION به یک رشته سریال شده (serialize) تبدیل می شود و هنگام خواندن دوباره سیشن نیز عملیات تبدیل به رشته اصلی نیز انجام می گردد.

این عملیات serialization همان فرمتی که تابع serialize() در php تولید می کند , را انجام نمی دهد .

داده اینکد شده session شامل تمام المنت های آرایه $_SESSION که با , (simicolon) جدا شده اند , است . هر خانه یا المنت شامل سه بخش است : ایندکس session , طول مقدار ذخیره شده و مقدار ذخیره شده . برای مثال :

توابع رمزگذاری Session در php (اینکد و دیکد)

Php دو تابع برای encode و decode دستی سیشن ها معرفی کرده است . این توابع بصورت زیر هستند :

  • session_encode()
  • session_decode()

قبل از استفاده از این توابع , نیاز دارید که انجین سیشن را با فراخوانی تابع session_start() قبل از هر نوع کد و کاراکتری در خط اول پروژه استارت بزنید.همچنین مقاله انواع خطا در php و output buffering در php را مطالعه بفرمایید

در غیر اینصورت می توانید با قرار دادن مقدار ۱ برای session.auto_start در فایل پیکربندی php.ini این قابلیت را خودکار کنید.

تابع session_decode() در php داده سریال شده سیشن را دریافت و آن را در یک آرایه برگشت میدهد . این تابع مقدار TRUE را درصورت موفقیت آمیز بودن عملیات دیکد برگشت می دهد . در واقع تابع session_decode مقدار آرایه $_SESSION را با داده های دیکد شده فراخوانی می کند. یک مثال واقعی از رمزگذاری Session در php را ببینم .

مثال رمزگذاری Session در php

در این مثال , ما دو سیشن product_code و logged_in داریم . در زمان فراخوانی  session_encode()خروجی رشته سریال شده را در یک متغییر برگشت می دهد .

زمانی که تابع session_decode را برای دیکد کردن داده های سیشن فراخوانی میکنیم , در واقع مقدار آرایه $_SESSION را با داده های ذخیره شده مجددا بارگذاری می کنیم (reload)

در این مثال , ما مقدار product_code و logged_in رو تغییر دادیم اما , مقادیر جدید با داده های سیشن قبلی , هنگام فراخوانی تابع session_decode , جایگزین شدند.

خروجی مثال رمزگذاری Session در php

حتما سعی کنید امنیت سیشن در php را جدی بگیرید و در پروژه های تحت وب خود از توابع و تکنیک های لازم برای افزایش امنیت session در php بهره ببرید.

امیدوارم مقاله رمزگذاری Session در php برای شما عزیزان مفید واقع شده باشد .

برای دریافت سورس کد استفاده شده در اینجا از باکس دانلود استفاده کنید.

هر گونه مشکلی در پیاده سازی کدها داشتید ، از قسمت نظرات اقدام کنید . سریعا ، پاسخگوی سوالات شما هستیم .

موفق و پیروز باشید.

حسن شفیعی توسعه دهنده وب و موبایل مدیر سایت علاقه خاصی به برنامه نویسی وب و موبایل دارم و هر روز تلاش می کنم به این حوزه مسلط تر شوم و اطلاعاتم را به شکل کاربردی برای علاقه مندان در وب به اشتراک بگذارم. اگر نیاز به برنامه نویس برای انجام پروژه و نوشتن اسکریپت های سمت وب, اپلیکیشن های اندروید و ios, پیدا کردن راه حل توسعه و غیره داشتید حتما از طریق تماس با ما/ واتساپ/ تلگرام بهم پیام بدید. برایتهیه هاست مطمین و پرسرعت کلیک کنید
مطالب زیر را حتما بخوانید
دیدگاه کاربران (۲)

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

  1. nargesizm ۲۸ شهریور ۱۳۹۹

    با سلام
    Session ست شده بعد از یک ساعت از بین می رود، میشه لطفا بفرمائید چطور میشه تایم Session رو به یک هفته تغییر داد؟

    با سپاس

    پاسخ
    1. حسن شفیعی ۲۸ شهریور ۱۳۹۹

      سلام.
      در این مقاله نحوه افزایش زمان سشن کامل آموزش داده شده :
      تعیین تاریخ انقضا برای SESSION در php

      پاسخ
دوره های آموزشی