laravel

Laravel CSRF-beskyttelse

Laravel CSRF-beskyttelse
Den fulde form for CSRF er forfalskning på tværs af websteder. Det er en type onlineangreb, hvor angriberen sender anmodninger som en autoriseret bruger til et system ved at få adgangsinformation for en bestemt bruger af det system og udfører forskellige typer ondsindede aktiviteter ved at bruge identiteten på den bruger. Virkningen af ​​dette angreb afhænger af ofrets privilegier på systemet. Hvis offeret er en normal bruger, vil det kun påvirke offerets personlige data. Men hvis offeret er administrator af systemet, kan angriberen skade hele systemet. Brugerne af ethvert forretningswebsted, socialt netværk kan blive påvirket af dette angreb. Dette angreb kan let forhindres ved at bruge Laravel CSRF-beskyttelse for at gøre systemet mere sikkert. Laravel genererer automatisk CRSF-token for hver aktiv brugersession, hvorved enhver anmodning og godkendelse gives til den godkendte bruger til systemet. Hvordan Laravel CSRF-beskyttelse kan anvendes i Laravel-applikationen vises i denne vejledning.

Forudsætninger:

Før du starter denne tutorial, skal du sørge for, at Laravel er installeret og fungerer korrekt i systemet. Jeg har installeret følgende applikationer på systemet til at udføre denne tutorial.

Sådan implementeres CSRF:

CSRF-beskyttelse kan implementeres i Laravel ved hjælp af en hvilken som helst HTML-formular med en skjult form for CSRF-token, og anmodningen fra brugeren valideres ved hjælp af CSRF VerifyCsrfToken middleware. Enhver af følgende muligheder kan bruges til at generere et CSRF-token.

EN. @csrf

Det er et klingedirektiv at generere et tokenfelt, der skal bruges til verifikation. Det genererer et skjult indtastningsfelt.

B. csrf_token ()

Denne funktion kan bruges i metatagget og det skjulte indtastningsfelt i HTML-formularen. Det genererer en tilfældig streng som et CSRF-token.

C. csrf_field ()

Denne funktion opretter et skjult felt til HTML-formularen, hvor det bruges og genererer CSRF-token.

Anvendelsen af ​​ovenstående muligheder vises ved hjælp af HTML-formularer i næste afsnit af vejledningen.

Brug af @csrf:

Opret en Laravel-visningsfil med navnet csrf1.klinge.php med følgende HTML-kode hvor @csrf direktivet bruges til at generere CSRF-token.

csrf1.klinge.php



CSRF-beskyttelse



Laravel CSRF-beskyttelsesmetode-1



@csrf










Tilføj følgende rute i web.php fil for at indlæse visningsfilen i browseren. Hvornår brugeren vil give csrf1 efter basis-URL'en søger den csrf1.klinge.php fil i udsigt mappe til Laravel-projektet.

Rute :: visning ('/ csrf1', 'csrf1');

Start Apache-serveren, og kør følgende URL fra browseren for at indlæse visningen i browseren. Her, laravelpro er laravel-projektnavnet. Du kan også køre Laravel-udviklingsserveren ved hjælp af PHP artisan-kommandoen.

https: // localhost / laravelpro / public / csrf1

Hvis du inspicerer siden, får du output som nedenfor. Her genereres et skjult felt med værdien automatisk af @csrf direktiv.

Brug af csrf_token ():

Opret en Laravel-visningsfil med navnet csrf2.klinge.php med følgende HTML-kode, hvor csrf_token () funktion bruges til at generere CSRF token. Denne funktion bruges som værdien af ​​værdien attribut for det skjulte felt, og den bruges med to krøllede parenteser.

csrf2.klinge.php



CSRF-beskyttelse



Laravel CSRF-beskyttelsesmetode-2














Tilføj følgende rute i internettet.php fil for at indlæse visningsfilen i browseren. Som den første metode, når brugeren vil give csrf2 efter base-URL'en søger den csrf2.klinge.php fil i udsigt mappe til Laravel-projektet.

Rute :: visning ('/ csrf2', 'csrf2');

Kør følgende URL fra enhver browser som før for at indlæse den anden visningsfil.

https: // localhost / laravelpro / public / csrf2

Hvis du inspicerer siden, får du output som nedenfor. Her genereres værdien af ​​det skjulte felt ved hjælp af csrf_token () fungere.

Brug af csrf_field ():

Opret en Laravel-visningsfil med navnet csrf3.klinge.php med følgende HTML-kode hvor csrf_field () funktion bruges til at generere CSRF token. Denne funktion fungerer som @csrf direktivet, og du behøver ikke tilføje et skjult felt i HTML-formularen. Det bruges også med to krøllede parenteser som csrf_token () fungere.

csrf3.klinge.php



CSRF-beskyttelse



Laravel CSRF-beskyttelsesmetode-3









csrf_field ()




Tilføj følgende rute i internettet.php fil for at indlæse visningsfilen i browseren. Som den første metode, når brugeren vil give csrf3 efter basis-URL'en søger den csrf3.klinge.php fil i udsigt mappe til Laravel-projektet.

Rute :: visning ('/ csrf3', 'csrf3');

Kør følgende URL fra enhver browser som før for at indlæse den anden visningsfil.

https: // localhost / laravelpro / public / csrf3

Hvis du inspicerer siden, får du output som nedenfor. Her genereres værdien af ​​det skjulte felt ved hjælp af csrf_field () fungere.

Alle tre metoder til generering af CSRF-token vist ovenfor genererer den samme tokenværdi for den samme browser. Når angriberen sender en anmodning om at få adgang til indholdet af enhver godkendt bruger, der er online da BekræftCsrfToken middleware matcher anmodningstokenet og det lagrede sessionstoken for at validere anmodningen inden håndtering. På denne måde kan CSRF-angrebet let forhindres i Laravel. Denne beskyttelse kan deaktiveres fra Laravel ved at fjerne indgangen til App \ Http \ Middleware \ VerifyCsrfToken af $ mellemvare array fra filen app / http / kerne.php.

Konklusion:

Uautoriseret adgang kan have stor indflydelse på enhver applikation og beskadige dataene på den korrekt. Så CSRF-beskyttelse er meget vigtigt for at sikre enhver applikation, hvor de forskellige typer af tværnationale opgaver udføres. Denne tutorial hjælper Laravel-udviklerne med at kende måderne til at sikre deres applikation ved hjælp af CSRF-beskyttelse.

5 bedste arkadespil til Linux
I dag er computere seriøse maskiner, der bruges til spil. Hvis du ikke kan få den nye høje score, ved du hvad jeg mener. I dette indlæg vil du kende n...
Kamp om Wesnoth 1.13.6 Udvikling frigivet
Kamp om Wesnoth 1.13.6 udgivet i sidste måned, er den sjette udviklingsudgivelse i 1.13.x-serien, og den leverer en række forbedringer, især til bruge...
Sådan installeres League Of Legends på Ubuntu 14.04
Hvis du er fan af League of Legends, er dette en mulighed for dig at prøvekøre League of Legends. Bemærk, at LOL understøttes på PlayOnLinux, hvis du ...