CSRF actio malitiosa est ab impugnante, qui actiones pro usuario authentico exercet, securitati interretiali detrimento. Fortunate Laravel instrumenta praebet ut hoc genus vulnerabilitas prohibeant.
CSRF oppugnat sessiones hijack usuario. Id faciunt fraudem utentis in petitione exhibenda per formas occultas vel delatas malitiosas (imagines vel nexus) sine cognitione usoris.
Hic impetus ad mutationem inducit sessionis in statu usoris, notitia liberorum, et interdum hackers mutare potest in applicatione data finis usoris.
Imago supra missionem illustrat ubi securitas interreta interrupit. Hostia petitionem strepitando in nexum mittit (accepit), petitionem mittit ad servo website, qui effectus producet optatos ab piratica, qui in possessionem venit notitiae utilis ad accessionem et manipulationem servo website.
Ut amplio pignus telam applicationum tuarum in singulis sessionibus usoris, Laravel signa tuta generat, quibus utitur ut usor authenticus applicationis petens sit.
Quia hoc signum mutat omni tempore sessionis usoris regeneratur, oppugnator accedere non potest.
Quandocumque rogatur ut user informationem mutare de servo parte (backend) similis POST
, PUT
, PATCH
e DELETE
, oportet includere directivum @csrf
in petentibus formam blade
HTML. The @csrf
est igitur directivum Blade
occultum generare applicatione usus convalescit.
directivum Blade
usus est in syntaxi engine dicitur in Laravel template lamina . Ad creare lima blade
nomen tibi dare - in nostro casu formam - extensio herbae sequitur. Id quod tabella nomen habebit form.blade.php
.
Tabella adhibetur blade
ut in pagina interretiali sententias pro usoribus redderet. Sunt duo pre-praescriptionesdefinite vel ferrum notas commentus syntaxin uti potes. Exempli gratia @if
reprehendo si condicio satisfactum est; @empty
reprehendo si monumenta vacua non sunt, @auth
reprehendo si a user authenticitatis signo muniantur etc.
Sed eamus ad directivam @csrf
. Ecce quomodo uteris:
<form method="POST" action="{{route('pay')}}">
@csrf
</form>
Priores versiones Laravel diversam paroem habuerunt: ambo operantur et idem faciunt.
<form method="POST" action="{{route('pay')}}">
<input type="hidden" name="_token" value="{{ csrf_token() }}" />
</form>
Cum CSRF indicium deest a forma petitionis propositae vel si invalidum apparet, Laravel "Page Expiratus" errorem nuntium cum 419 codice status iacit.
The middleware VerifyCsrfToken
tractat CSRF verificationem in applicatione Laravel. The middleware
est relatus in Kernel.php
et sita in indicem app/Http/Middleware
. Hoc significat quod middleware
Urguet petitiones intra telam, quae ad APIs non refertur.
protected $middlewareGroups = [
'web' => [
.
.
.
.
.
\App\Http\Middleware\VerifyCsrfToken::class,
],
];
Et VerifyCsrfToken middleware extendit classis Illuminate\Foundation\Http\Middleware\VerifyCsrfToken
, CSRF verificationis est i.e definita in genere.
Altius fodiamus ut cognoscamus quomodo verificationem Laravel tractat CSRF.
Intra genus, munus habemus tokensMatch
.
protected function tokensMatch($request)
{
$token = $this->getTokenFromRequest($request);
return is_string($request->session()->token()) &&
is_string($token) &&
hash_equals($request->session()->token(), $token);
}
in codice determinat num sessionis et input CSRF signa congruunt.
De officio duo facit;
$this->getTokenFromRequest
signum ex instantiae advenientis adnexa per campum absconditum vel instantia capitis. Vestigium decryptum est et postea ad signum variabile rediit.protected function getTokenFromRequest($request)
{
$token = $request->input('_token') ?: $request->header('X-CSRF-TOKEN');
if (! $token && $header = $request->header('X-XSRF-TOKEN')) {
try {
$token = CookieValuePrefix::remove($this->encrypter->decrypt($header, static::serialized()));
} catch (DecryptException $e) {
$token = '';
}
}
return $token;
}
In codice accipit signum a header
2. Mittite petitionem tum signo et sessione ad filum et deinde utere hash_equals
in PHP constructa comparare si ambae chordae aequales sint. Effectus huius operationis semper est bool (verum) seu (falsum) .
Ercole Palmeri
An ophthalmoplastia operandi usus Apple Visionis Pro inspectoris commercialis fiebat apud Catinam Polyclinic…
Artes motorias enucleans subtilis per fuco praeparat filios ad plures artes implicatas sicut scripturas. Colorare…
Secta navalis vera potentia global oeconomici est, quae ad 150 miliarda mercatus navigavit.
Ultima Lunae, Financial Times pacisci cum OpenAI denuntiavit. FT licentias suae diurnariae mundi-classis.