လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP session ၏ဘဝသံသရာနှင့်စီမံခန့်ခွဲမှုနည်းဗျူဟာများကိုအပြည့်အ 0 ထိန်းချုပ်ရန် session_cookie_params function ကိုအသုံးပြုနည်း။

PHP session ၏ဘဝသံသရာနှင့်စီမံခန့်ခွဲမှုနည်းဗျူဟာများကိုအပြည့်အ 0 ထိန်းချုပ်ရန် session_cookie_params function ကိုအသုံးပြုနည်း။

M66 2025-06-27

session_set_cookie_params ကဘာလဲ။

session_cookie_params () function ကို session cookies cookies များ, လမ်းကြောင်း၏သက်တမ်းရှိ Php session cookies များ, လမ်းကြောင်း၏တရားဝင်ချိန်, လမ်းကြောင်း၏တရားဝင်ချိန်, လမ်းကြောင်း၏တရားဝင်ချိန်ကိုသတ်မှတ်ရန်အသုံးပြုသည်။ ဤလုပ်ဆောင်မှုမှတစ်ဆင့် developer များသည် session များ၏လုံခြုံရေးနှင့်တည်ငြိမ်မှုကိုသေချာစေရန်နှင့်လုံခြုံရေးအန္တရာယ်များကိုသေချာစေရန်သေချာစေနိုင်သည်။

 session_set_cookie_params([
    'lifetime' => 3600, // cookie သက်တမ်းကာလ(တခု:စက်ဏန့်)
    'path' => '/', // cookie လမ်းကြောင်း
    'domain' => 'm66.net', // ဒိုမိန်းအမည်ကိုသတ်မှတ်ပါ m66.net
    'secure' => true, // သာအောင်မြင်ရန်ရှိမရှိ HTTPS ကူးစက်ခြင်း cookie
    'httponly' => true, // တားမြစ်ထားသလား JavaScript ဝင်ရောက်ခွင့် cookie
    'samesite' => 'Strict' // တည်ဆောက်သည် SameSite သေနင်္ဂဗျူယာ
]);

တစ်ခုချင်းစီကို parameter သည်အသေးစိတ်မိတ်ဆက်

  1. တစ်သက်တာ
    တစ်သက်တာ parameter သည် session cookie ၏တရားဝင်မှုကာလကိုစက္ကန့်ပိုင်းအတွင်းသတ်မှတ်ရန်အသုံးပြုသည်။ ပုံမှန်အားဖြင့် PHP session cookie ၏ဘဝသံသရာသည် browser session တစ်ခုအဆုံးသတ်သောအခါမမှန်ကန်ပါ။ အကယ်. သင် session ကို browser ကိုပိတ်ပြီးနောက်သင်ခန်းစာကိုဆက်လက်ရှိနေသေးသည်ဆိုပါက၎င်းကိုသက်တမ်းတိုးပြီးနောက်၎င်းကိုသက်တမ်းတိုးနိုင်သည့်ကာလသို့သတ်မှတ်နိုင်သည်။ ဥပမာအားဖြင့် 3600 ဆိုသည်မှာ cookie သည် 1 နာရီကြာသည်။

  2. ခေြလမ်း
    Path Parameter သည် session cookie ၏ခိုင်လုံသောလမ်းကြောင်းကိုထိန်းချုပ်သည်။ root directory ကိုသတ်မှတ်ပါ အကယ်. သင်က cookie ကိုသတ်သတ်မှတ်မှတ်လမ်းကြောင်းတစ်ခုအောက်ရှိ cookie ကို 0 င်ရန်သာလိုအပ်ပါက၎င်းကိုဤလမ်းကြောင်းသို့သတ်မှတ်နိုင်သည်။

  3. ဒိရှရံ
    ဒိုမိန်း parameter သည် cookie ၏အတိုင်းအတာကိုသတ်မှတ်သည်, ဆိုလိုသည်မှာမည်သည့်ဒိုမိန်းအမည်ကိုဤ cookie ကိုရယူနိုင်သည်။ Cross-Domain Session Session အထောက်အပံ့ကိုမြှင့်တင်ရန်ဤအချက်ကို M66.net သို့သတ်မှတ်နိုင်သည်။ Domain Name သည်လက်ရှိတောင်းဆိုထားသောဒိုမိန်းအမည်နှင့်ကိုက်ညီရမည်ကိုသတိပြုပါ။

  4. ဘေးရန်ကင်းသော
    လုံခြုံသော parameter သည် cookie ကို HTTPS လုံခြုံသောဆက်သွယ်မှုများဖြင့်သာကူးစက်နိုင်သည်ရှိမရှိဆုံးဖြတ်သည်။ မှန်ကန်စွာ သတ်မှတ်သည့်အခါ browser သည်ဤ cookie ကို HTTPS ဆက်သွယ်မှုအောက်တွင်သာပေးပို့လိမ့်မည်။ အထူးသဖြင့်အထိခိုက်မခံသောအချက်အလက်များနှင့်ပတ်သက်လာလျှင်၎င်းသည်စကားပြောဆိုမှုလုံခြုံရေးကိုမြှင့်တင်ရန်အရေးကြီးသောအတိုင်းအတာတစ်ခုဖြစ်သည်။

  5. httponly
    Httponly parameter သည် client javascript ကို cookies များကို 0 င်ရောက်ခွင့်ပြုသည်ကိုထိန်းချုပ်သည်။ အကယ်. မှန်ကန် ရန်သတ်မှတ်ထားပါက cookie ကို HTTP protocol မှတဆင့်သာဝင်ရောက်ကြည့်ရှုနိုင်ပြီး JavaScript မှ ဝင်ရောက်. မရပါ။ ၎င်းသည် Cross-site scripting တိုက်ခိုက်မှုများ (XSS) ကိုတားဆီးရန်ကူညီသည်။

  6. Samesite
    တူညီသော site parameter သည် site cookie မူဝါဒကိုထိန်းချုပ်ရန်ခွင့်ပြုချက် (CSRF) တိုက်ခိုက်မှုများကိုကာကွယ်ရန်ဒီဇိုင်းပြုလုပ်ထားသော site cookie ပေါ်လစီကိုထိန်းချုပ်သည်။ ဘုံနည်းဗျူဟာများမှာ -

    • 'stratt' - cookies များကိုလက်ရှိ site ပေါ်တွင်သာပို့ရန်ခွင့်ပြုပါ။

    • 'lax' - cookies များကို Cross-site တောင်းဆိုမှုများကိုပြုလုပ်သောအခါအချို့သောအခြေအနေများအတွက်သင့်လျော်သည်။

    • 'none' : Samesite မူဝါဒကိုလုံးဝ ပိတ်ထား ပါ,


အသုံးပြုမှုဥပမာများ

ကျွန်ုပ်တို့တွင် e-commerce ဝက်ဘ်ဆိုက်ရှိသည်ဆိုပါစို့။ အသုံးပြုသူများသည် 0 င်ရောက်ခြင်းလှည်းစာမျက်နှာတွင်သူတို့ session login status တွင်အချိန်ကြာမြင့်စွာဆက်ထိန်းထားလိုသည်။ ကွဲပြားခြားနားသောစာမျက်နှာများ၏လိုအပ်ချက်များကိုဖြည့်ဆည်းရန်ကျွန်ုပ်တို့သည် session_cookie_params မှတစ်ဆင့်ကွဲပြားသောဘဝသံသရာများနှင့်မူဝါဒများကိုသတ်မှတ်နိုင်သည်။

 // တည်ဆောက်သည်登录页面的会话 cookie
session_set_cookie_params([
    'lifetime' => 1800,  // 30 မိနစ်
    'path' => '/',
    'domain' => 'm66.net',
    'secure' => true,
    'httponly' => true,
    'samesite' => 'Strict'
]);

// session တစ်ခုစတင်ပါ
session_start();

// တည်ဆောက်သည်购物车页面的会话 cookie
session_set_cookie_params([
    'lifetime' => 86400,  // 24 နာရီ
    'path' => '/cart',
    'domain' => 'm66.net',
    'secure' => true,
    'httponly' => true,
    'samesite' => 'Lax'
]);

// session တစ်ခုစတင်ပါ
session_start();

ဤဥပမာတွင် login စာမျက်နှာ၏သက်တမ်းရှိသက်တမ်းကာလသည်မိနစ် 30 ဖြစ်ပြီး, စျေးဝယ်လှည်းစာမျက်နှာ၏ session တရားဝင်မှုကာလသည် 24 နာရီဖြစ်သည်။ စာမျက်နှာနှစ်ခုလုံးသည်တူညီသော session cookies များကိုမျှဝေနိုင်ရန်အတွက်ဒိုမိန်းကိုသတ်မှတ်ရန် Set Dom ဒိုမိန်းပါSecure နှင့် Httponly parametersters ၏ settings များသည် session လုံခြုံရေးကိုမြှင့်တင်ပေးသည်။


session_set_cookie_params ကိုဘာကြောင့်သုံးဖို့လိုတာလဲ။

session_set_cookie_params () developer များက developer များကိုပိုမိုကောင်းမွန်သော session ကိုစီမံခန့်ခွဲမှုရရှိရန်ကူညီနိုင်သည်။ ဒီ function ကိုသုံးဖို့အတွက်အများသုံးဇာတ်လမ်းတစ်ပုဒ်ရှိတယ်။

  1. Security Security <br> လုံခြုံစိတ်ချရသော နှင့် httponly parametersters များကိုအသုံးပြုခြင်းသည် session cookies များကိုအန္တရာယ်ရှိသော JavaScript code ဖြင့်ခိုးယူခြင်းမှတားဆီးနိုင်သည်။

  2. Cross-site session ကိုစီမံခန့်ခွဲမှု <br> ဒိုမိန်း parameters တွေကို settings subddomains တစုံတခုကိုဖြတ်ပြီး session cookies တွေကိုဝေမျှနိုင်ပါတယ်, subdomains မျိုးစုံကွန်ရက်စာမျက်နှာများသို့မဟုတ် applications များအတွက်အလွန်အသုံးဝင်သည်။

  3. ထိန်းချုပ်မှု session ကိုဘဝသံသရာ cycle <br> Lifetime parameters တွေကိုသတ်မှတ်ခြင်းအားဖြင့် developer များသည်စီးပွားရေးလုပ်ငန်းလိုအပ်ချက်များနှင့်အညီ session ၏ကြာချိန်ကိုထိန်းချုပ်နိုင်သည်။

  4. CSRF တိုက်ခိုက်မှုများကိုတားဆီး Samesite parameter ကို setting သည် site parameter သည်ခွင့်ပြုချက်တောင်းခံမှုများကိုတားဆီးနိုင်ပြီးအသုံးပြုသူအချက်အလက်လုံခြုံရေးကိုသေချာစေနိုင်သည်။


အကျဉ်းချုပ်

session_set_cookie_params () PHP တွင် PHP တွင်အလွန်အစွမ်းထက်။ ပြောင်းလွယ်ပြင်လွယ်ရှိသောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ပုံသဏ္ဌာန်က၎င်း၏အမျိုးမျိုးသောသတ်မှတ်ချက်များကိုပြင်ဆင်ခြင်းဖြင့် developer များသည်သူတို့၏လျှောက်လွှာများ၏လုံခြုံရေးကိုပိုမိုကောင်းမွန်စေရုံသာမကစကားလက်ဆုံပြောဆိုမှုစီမံခန့်ခွဲမှုမဟာဗျူဟာများကိုလည်းပိုမိုကောင်းမွန်အောင်ပြုလုပ်နိုင်သည်။ ဤလုပ်ဆောင်ချက်ကိုနားလည်ခြင်းနှင့်ပြောင်းလွယ်ပြင်လွယ်စွာအသုံးပြုခြင်းသည် 0 က်ဘ်အပလီကေးရှင်းများကိုအားကောင်းမှုနှင့်လုံခြုံမှုရှိစေနိုင်သည်။