လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Slim Framework တွင် Cross-site တောင်းဆိုခြင်း (CSRF) တိုက်ခိုက်မှုများကိုကာကွယ်ရန် Middleware ကိုမည်သို့အသုံးပြုရမည်နည်း

Slim Framework တွင် Cross-site တောင်းဆိုခြင်း (CSRF) တိုက်ခိုက်မှုများကိုကာကွယ်ရန် Middleware ကိုမည်သို့အသုံးပြုရမည်နည်း

M66 2025-06-21

CSRF တိုက်ခိုက်မှုများကို Slim Framework တွင်ကာကွယ်ရန် Middleware ကိုသုံးပါ

ကွင်းလယ်ကစားစကားတောင်းဆိုခြင်း (CSRF) သည်ဆိုက်ဘာတိုက်ခိုက်မှု၏ဘုံနည်းလမ်းဖြစ်သည်။ တိုက်ခိုက်သူများကသုံးစွဲသူများအားအသုံးပြုသူ authentication information များကို log in လုပ်ထားသော 0 ဘ်ဆိုဒ်များနှင့် ပတ်သက်. အသုံးချခြင်းအားဖြင့်အန္တရာယ်ရှိသောတောင်းဆိုမှုများကိုစတင်ရန်အတင်းအကျပ်စေခိုင်းသည်။ CSRF တိုက်ခိုက်မှုများကိုထိရောက်စွာကာကွယ်နိုင်ရန်အတွက် Slim Framework သည် Middleware ကို အသုံးပြု. ကာကွယ်မှုအတွက်ယန္တရားတစ်ခုပေးသည်။ ဤဆောင်းပါးသည်တပ်ဆင်ထားသည့်အဆင့်များအပါအ 0 င် Slim Framework တွင် CSRF ကာကွယ်မှုကိုမည်သို့အကောင်အထည်ဖော်ရမည်နှင့် ပတ်သက်. အသေးစိတ်ဖော်ပြချက်များကိုအသေးစိတ်ဖော်ပြထားသည်။

အဆင့် 1: Slim Framework ကိုထည့်သွင်းပါ

ပထမ ဦး စွာကျွန်ုပ်တို့သည် Slim Framework ကိုတေးရေးဆရာမှတဆင့်တပ်ဆင်ရန်လိုအပ်သည်။ ပါးလွှာသောစီမံကိန်းအသစ်တစ်ခုကိုဖန်တီးရန် Terminal တွင်အောက်ပါ command ကို run ပါ။

တေးရေးဆရာဖန်တီး - စီမံကိန်း Slim / Slim My-app

အဆင့် 2: CSRF ၏အသံကိုဖန်တီးပါ

Slim Framework တွင် CSRF ကာကွယ်မှုကို Middleware ယန္တရားများဖြင့်ကိုင်တွယ်နိုင်သည်။ ထိုသို့ပြုလုပ်ရန်ကျွန်ုပ်တို့သည် CSRFMNEWEWEWEWPHP အမည်ရှိ Middleware ဖိုင်ကိုဖန်တီးရန်လိုအပ်သည်။ ပထမ ဦး စွာစီမံကိန်း root directory ထဲတွင် Middleware ဟုခေါ်သောလမ်းညွှန်တစ်ခုကိုဖန်တီးပြီး CSRFMNEWSWALWEN.PHP ဖိုင်ကိုဖန်တီးပါ။

CSRF MOMENAWWARGWANGWARE အတွက်ကုဒ်ဥပမာတစ်ခု

<?php
namespace App\Middlewares;

class CsrfMiddleware extends SlimMiddlewareAntiCsrf
{
    public function call()
    {
        $this-> App-> ချိတ် (&#39;slim.before&#39;, [$ ဒီ, &#39;&#39; check &#39;]);
        $ -> Next-> ခေါ်ဆိုမှု (),
    }

    အများပြည်သူ function ကို ralidatesterage ()
    {
        အကယ်. (! $ -> App-> View () -> GetData (CSRF_KEKY) ||
            ! $ ဒီ -> App-> View () -> GetData (&#39;CSRF_VALUE))
            $ THE-> App-> Getlog () -> အမှား (&#39;CSRF ၏အမှားအယွင်း - CSRF key and or value&#39;);
            $ -> App-> Pass ();
        }
    }
}

အဆင့် 3: CSRF Middleware ကိုမှတ်ပုံတင်ပါ

ထို့နောက်သင် Slim application တွင်သင်ဖန်တီးထားသော CSRF အချင်းချင်းကိုမှတ်ပုံတင်ရန်လိုအပ်သည်။ အောက်ပါကုဒ်ကို index.php ဖိုင်သို့ index.php ဖိုင်သို့ထည့်ပါ။

$ app = အသစ် slimapp ();
...
$ app-> add (အသစ် app \ middwayes \ csrfmidsware ());
...
$ app-> run ();

အဆင့် 4: CSRF တိုကင်ကိုဖွဲ့စည်းရန်ထည့်ပါ

CSRF တိုက်ခိုက်မှုများမှပုံစံကိုကာကွယ်ရန်ကျွန်ုပ်တို့သည် CSRF အမှတ်အသားကိုပုံစံသို့ထည့်သွင်းရန်လိုအပ်သည်။ ၎င်းကိုပုံစံသို့လျှို့ဝှက်ကွက်လပ်များကိုထည့်ခြင်းဖြင့်ရရှိနိုင်သည်။ CSRF အမှတ်အသားတစ်ခုထည့်ရန်နမူနာကုဒ်ဖြစ်သည်။

<form action="/submit" method="post">
    <input type="hidden" name="csrf_key" value="{{ csrf_key }}">
    <input type="hidden" name="csrf_value" value="{{ csrf_value }}">
    <!-- အခြားပုံစံလယ်ကွင်း -->
    <button type="submit">နားထောင်</button>
</form>

အဆင့် 5. CSRF Token ၏တရားဝင်မှုကိုစစ်ဆေးပါ

ဆာဗာဘက်တွင်, တင်သွင်းသောတောင်းဆိုမှုတွင် CSRF အမှတ်အသားသည်မှန်ကန်ကြောင်းစစ်ဆေးရန်လိုအပ်သည်။ ဤနေရာတွင်ဥပမာ routing processor code တစ်ခုရှိသည်။

$ App-> Post (&#39;/ တင်ပြချက်&#39;, function ($ တောင်းဆိုမှု, $ တုံ့ပြန်မှု) {
    $ ဒေတာ = $ တောင်းဆိုချက် -> GetParsedbody (); // တောင်းဆိုမှု parameters // csrf token $ csrf token = $ ဒေတာ [&#39;CSRF_KEKENTER)]
    $ csrf_value = $ ဒေတာ [&#39;csrf_value&#39;;

    IF (! $ app-> CSRF-> စစ်ဆေးမှု ($ csrf_key, $ csrf_value))
        // CSRF တိုကင်အတည်ပြုချက်သည် $ တုန့်ပြန်မှုမအောင်မြင်ပါ။ >> GetBeriGe ()> MRANGRE (&#39;CSRF validation&#39;),
        $ Response->> နှင့်အတူ (403),
    }

    // လုပ်ငန်းစဉ်ပုံစံတင်သွင်းမှု // ...

    $ Response->> GetBeriGe () -> ရေးသားခြင်း (&#39;အောင်မြင်စွာတင်ပြခြင်း));
    $ တုံ့ပြန်မှုကိုပြန်ပို့ခြင်း,
});

အကျဉ်းချုပ်

Slim Framework တွင် Middleware ကို အသုံးပြု. CSRF ကာကွယ်မှုကိုအလွယ်တကူအကောင်အထည်ဖော်နိုင်သည်။ Token ကိုစစ်ဆေးရန်နှင့်လုပ်ငန်းစဉ်ကိုပထမဆုံး CSRF MOARTWARK ကိုဖန်တီးပါ, ပြီးနောက်အသုံးပြုသူတောင်းဆိုချက်များ၏လုံခြုံရေးကိုသေချာစေရန် CSRF တိုကင်များကိုပုံစံသို့ထည့်ပါ။ ဤနည်းအားဖြင့် SSRF သည် CSRF တိုက်ခိုက်မှုများကိုထိရောက်စွာကာကွယ်နိုင်ပြီး application ၏လုံခြုံရေးကိုထိရောက်စွာတားဆီးနိုင်သည်။