Laravel 5.5, Laravel မှ Laravel သည် application security ကိုသေချာစေရန် Laravel-based CSRF ကာကွယ်မှုကိုပုံမှန်အားဖြင့်ဖွင့်ထားသည်။ သို့သော်အချို့သောဖွံ့ဖြိုးရေးအခြေအနေများတွင်ဤကာကွယ်မှုသည်နောက်ထပ်ရှုပ်ထွေးမှုများကိုရှောင်ရှားရန်ဤကာကွယ်မှုကိုပိတ်ထားရန်လိုအပ်သည်။ kernel.php ဖိုင်ကိုပြုပြင်ခြင်းဖြင့်၎င်းကိုသင်လုပ်နိုင်သည်။
ပထမ ဦး စွာ app \ http \ kernele.php ဖိုင်ကိုဖွင့်ပါ, ဝက်ဘ် ပြင်ဆင်မှုခင်းကျင်းရေးကို $ middlewards property တွင်ရှာပါ, အောက်ပါကုဒ်ကိုထည့်ပါ။
protected $middlewareGroups = [
'web' => [
// ...
App\Http\Middleware\VerifyCsrfToken::class => function ($request, $next) {
return $next($request);
},
],
];
Verifycsrftokenoktokenwook ကို အမည်မသိ function တစ်ခုအနေဖြင့်သတ်မှတ်ခြင်းအားဖြင့်သင်သည်တိုကင်အခြေပြု CSRF ကာကွယ်မှုကိုအောင်မြင်စွာပိတ်ထားသည်။
အကယ်. သင်သည် CSRF ကာကွယ်မှုကိုအချို့သောလမ်းကြောင်းများအပေါ်သင်သာ disable လုပ်လိုပါက Larvel သည် CSRF_EXFT နည်းလမ်းကိုပေးသည်။ ၎င်းသည်သင်၏လမ်းကြောင်းနှင့် ပတ်သက်. CSRF ကာကွယ်မှုကိုသီးခြားစီပိတ်ထားသည်။ ဥပမာအားဖြင့်:
Route::post('/api/posts', [
'middleware' => 'auth.basic',
'uses' => 'PostController@store',
])->csrf_exempt();
ဤနည်းလမ်းကိုအသုံးပြုခြင်းဖြင့် CSRF ကာကွယ်မှုကိုသတ်မှတ်ထားသောလမ်းကြောင်းတွင်ပိတ်နိုင်သည်။
နောက်ဆုံးအနေဖြင့် CSRF စောင့်ရှောက်မှုအစိတ်အပိုင်းတစ်ခုလုံးကို verifycsrftoken.php ဖိုင်ကိုပြုပြင်ခြင်းဖြင့်လည်းပိတ်နိုင်သည်။ ဖိုင်သည် app \ http andwardware directory တွင်တည်ရှိသည်။ ဖိုင်ကိုဖွင့်ပြီး code ကို၎င်း၏ လက်ကိုင် နည်းလမ်းဖြင့်မှတ်ချက်ပေးပါ။
class VerifyCsrfToken extends Middleware
{
protected $except = [];
public function handle($request, Closure $next)
{
// return parent::handle($request, $next);
return $next($request);
}
}
CSRF ကိုယ်ရံတော်အစိတ်အပိုင်းတစ်ခုလုံးကို မိဘ - ကိုင်တွယ်ခြင်း ($ တောင်းဆိုမှု, $ တောင်းခံခြင်း) ကို မှတ်ချက်ပေးခြင်းဖြင့်သင်ပိတ်နိုင်သည်။
CSRF ကာကွယ်မှုကိုပိတ်ခြင်းသည်ဖွံ့ဖြိုးမှုဆိုင်ရာပြ problems နာအချို့ကိုဖြေရှင်းနိုင်သော်လည်းလုံခြုံရေးအန္တရာယ်များကိုဖြစ်စေနိုင်သည်။ သငျသညျအခြားလုံခြုံရေးအစီအမံများသို့မဟုတ်ဖွံ့ဖြိုးရေးပတ် 0 န်းကျင်တွင်ပိတ်ပစ်ရန်သေချာစေရန်ပိတ်ခြင်းကိုပိတ်ထားသည့်အခါဂရုပြုသင့်သည်။ လိုအပ်ပါက code ကို back up သို့မဟုတ်အခြားပိုမိုလုံခြုံသောဖြေရှင်းချက်ကိုရွေးချယ်ပါ။