လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> CSRF ကိုကာကွယ်ရန် session_register_shutdown () ကိုသုံးပါ။

CSRF ကိုကာကွယ်ရန် session_register_shutdown () ကိုသုံးပါ။

M66 2025-06-06

0 က်ဘ်အပလီကေးရှင်းများလုံခြုံရေးကာကွယ်မှုတွင်ကွင်းလယ်ကစားနာမှုအတု (CSRF) သည်အသုံးအများဆုံးတိုက်ခိုက်မှုနည်းလမ်းများအနက်မှတစ်ခုဖြစ်သည်။ ခေတ်သစ်မူဘောင်များသည်များသောအားဖြင့် CSRF ကာကွယ်မှုယန္တရားများကိုပေါင်းစပ်ထားသော်လည်းကာကွယ်ခြင်းဆိုင်ရာမူဝါဒများကိုဇာတိ PHP ကို ​​အသုံးပြု. စနစ်များကိုတီထွင်ထုတ်လုပ်သည့်စနစ်များအတွက်ကိုယ်တိုင်ကိုယ်ကျအကောင်အထည်ဖော်ရန်လိုအပ်သည်။ PHP တွင် Session_register_shutdown () function ၏အကူအညီဖြင့် CSRF ကာကွယ်မှုရှိ CSRF ကာကွယ်ရေးတွင်အစည်းအဝေးများ၏ရှေ့နောက်ညီညွတ်မှုနှင့်လုံခြုံမှုကိုမည်သို့တိုးမြှင့်မည်ကိုဤဆောင်းပါးသည်လေ့လာပါလိမ့်မည်။

CSRF တိုက်ခိုက်မှုမိတ်ဆက်

CSRF (ကွင်းလယ်ကစားစကားတောင်းဆိုချက်) တိုက်ခိုက်မှုများသည်တိုက်ခိုက်သူတစ် ဦး အား 0 က်ဘ်ဆိုက်သို့မရည်ရွယ်ဘဲ 0 ဘ်ဆိုဒ်သို့ 0 င်ခွင့်ပြုရန်မရည်ရွယ်ဘဲ 0 က်ဘ်ဆိုက်သို့ပို့ရန် 0 က်ဘ်ဆိုက်သို့ 0 င်ရောက်နိုင်သည့် 0 ဘ်ဆိုဒ်တစ်ခုသို့ 0 င်ရောက်နိုင်သည့်အသုံးပြုသူကိုလှုံ့ဆော်ပေးသောအခါဖြစ်သည်။ ၎င်းသည်အသုံးပြုသူအချက်အလက်များကဲ့သို့သောလုံခြုံရေးဆိုင်ရာပြ issues နာများကိုဖြစ်ပေါ်စေပြီးအထိခိုက်မခံသောစစ်ဆင်ရေးများကိုဖြစ်ပေါ်စေသည်။

ဘုံကာကွယ်ရေးနည်းလမ်းများပါဝင်သည်:

  • CSRF တိုကင်ကိုသုံးပါ

  • အဆိုပါ defer သို့မဟုတ်မူရင်း header ကိုစစ်ဆေးပါ

  • တောင်းဆိုမှုနည်းလမ်းများ (ဥပမာ post ကို)

  • Samesite cookie attribute ကိုသတ်မှတ်ပါ

သို့သော် CSRF ကာကွယ်ရေး၏အရေးကြီးသောအချက်ကိုမကြာခဏဆိုသလိုသတိပြုမိသည်။ ဤအချိန်တွင် session_register_shutdown () function သည်ထူးခြားသောအခန်းကဏ် play မှပါ 0 င်နိုင်သည်။

session_register_shutdown ()?

session_register_shutdown () သည် PHP 5.4 တွင်လုပ်ဆောင်သော function တစ်ခုဖြစ်ပြီး Scription Execution အဆုံးသတ်သွားသည်။ ၎င်းသည်ရိုးရာ session_write_close () နှင့်ဆင်တူသည်။ သို့သော်ပိုမိုလုံခြုံပြီး ပို. လုံခြုံမှုရှိသည်။ ၎င်းသည် session data ကိုအလိုအလျောက်ရေးသားပြီး script အသက်တာကာလ၏အဆုံးတွင်အလိုအလျောက်ရေးသားပြီးပိတ်ထားသည်။

session_register_shutdown () နှင့် CSRF ကာကွယ်ရေးဆက်ဆံရေး

CSRF တိုက်ခိုက်မှုများ၏အန္တရာယ်သည်များသောအားဖြင့်သုံးစွဲသူ၏လက်ရှိအစည်းအဝေးများကို အသုံးပြု. တိုက်ခိုက်သူတစ် ဦး အနေဖြင့်အထိခိုက်မခံသောစစ်ဆင်ရေးများလုပ်ဆောင်နိုင်စွမ်းကြောင့်ဖြစ်သည်။ အကယ်. session data သည်အန္တရာယ်ရှိသော scripts များသို့မဟုတ်တစ်ပြိုင်နက်တည်းတောင်းဆိုမှုများဖြင့်ပျက်စီးခြင်းကိုပျက်စီးစေပါကကာကွယ်ရေးယန္တရားကိုကျော်လွှားနိုင်သည်။

session_register_shutdown () ကိုအသုံးပြုပြီးသေချာစေရန်ကူညီနိုင်သည်။

  1. Session ateromicity - တောင်းဆိုမှုအမြောက်အများကိုတစ်ပြိုင်နက်တည်းကွပ်မျက်ခြင်းကြောင့်ဖြစ်ရတဲ့အချက်အလက်မျိုးကိုတားဆီးပါ။

  2. CSRF Tokens ကိုရှုံးနိမ့်ခြင်းမှကာကွယ်ရန် - script substination နှင့် Loger Redirection?

  3. တိုကင်လည်ပတ်မှု၏တည်ငြိမ်မှုကိုမြှင့်တင်ရန် - Token Update Product တွင် Session Data ကိုအဂတိလိုက်စားမှုကိုဖြစ်စေရန်နှင့်တိုကင်၏အချိန်မီထိန်းချုပ်နိုင်စွမ်းကိုတိုးတက်အောင်လုပ်ပါ။

လက်တွေ့ကျသောဥပမာများ

Session_register_shutdown () အားကောင်းလာစေရန်အတွက် CSRF Token ယန္တရားကိုသင်အသုံးပြုသည်ဆိုပါစို့။

 <?php
session_start();
session_register_shutdown();

// စတင်သို့မဟုတ်အတည်ပြုရန် CSRF Token
if (empty($_SESSION['csrf_token'])) {
    $_SESSION['csrf_token'] = bin2hex(random_bytes(32));
}

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    if (!hash_equals($_SESSION['csrf_token'], $_POST['csrf_token'] ?? '')) {
        die('CSRF အတည်ပြုပျက်ကွက်');
    }

    // လုပ်ငန်းစဉ်ပုံစံဒေတာ
    // ...
}

// ပုံစံထုတ်လုပ်ရန်
?>
<form method="POST" action="https://m66.net/form-handler.php">
    <input type="hidden" name="csrf_token" value="<?php echo htmlspecialchars($_SESSION['csrf_token']); ?>">
    <input type="text" name="data">
    <input type="submit" value="နားထောင်">
</form>

ဤဥပမာတွင် ထွက်ပေါက် () သို့မဟုတ် HTTP Jump ကြေငြာချက်သည် code အလယ်၌ပင်ပေါ်လာလျှင်ပင် session_register_shutdown () မှတ်ပုံတင်ထားသောကြောင့် scription_register_shutdown () ကိုမှတ်ပုံတင်ထားသည့်ဇာတ်ညွှန်း၏အဆုံးတွင် Session ကိုမှန်ကန်စွာသိမ်းဆည်းနိုင်ဆဲဖြစ်သည် ဤနည်းအားဖြင့်ယုတ္တိဗေဒလုပ်ငန်းစဉ်တွင် CSRF တိုကင်၏ထိရောက်မှုကိုအာမခံထားသည်။

အကျဉ်းချုပ်

Session_register_shutdown () သည် CSRF ကာကွယ်ရေးအတွက်ဒီဇိုင်းရေးဆွဲခြင်းမဟုတ်သော်လည်း Secure Programming အလေ့အကျင့်တွင် Secure Data Data ကိုကျွမ်းကျင်စွာရေးရန်နည်းလမ်းတစ်ခုဖြစ်သည်။ အထူးသဖြင့် redirects မျိုးစုံ redirections, ခြွင်းချက်ဖျက်သိမ်းခြင်းနှင့်တစ်ပြိုင်နက်တည်းတောင်းဆိုမှုများကဲ့သို့သောရှုပ်ထွေးသောအပြန်အလှန်ဆက်သွယ်မှုများရှိသည့် 0 က်ဘ်အပလီကေးရှင်းများ၌

ဤနည်းအားဖြင့်ကျွန်ုပ်တို့သည်ပိုမိုလုံခြုံသောအစည်းအဝေးကိုထိန်းချုပ်နိုင်ရုံသာမကလျှောက်လွှာ၏ CSRF ကာကွယ်ရေးစွမ်းရည်အတွက်အရံသိမ်းဆည်းခြင်းများကိုလည်းထောက်ပံ့ပေးသည်။ လုံခြုံရေးကာကွယ်မှုရရှိရန် PHP ဇာတိယန္တရားကိုအသုံးပြုခြင်းသည်လျှောက်လွှာလုံခြုံရေးကိုတိုးတက်စေရန်အရေးကြီးသောခြေလှမ်းတစ်ခုဖြစ်သည်။