Forutsetninger:
Før du starter denne opplæringen, må du sørge for at Laravel er installert og fungerer ordentlig i systemet. Jeg har installert følgende applikasjoner på systemet for å gjøre denne opplæringen.
Hvordan implementere CSRF:
CSRF -beskyttelse kan implementeres i Laravel ved å bruke et hvilket. Noen av følgende alternativer kan brukes til å generere et CSRF -token.
EN. @csrf
Det er et bladdirektiv å generere et tokenfelt som vil bruke til verifisering. Det genererer et skjult inngangsfelt.
B. csrf_token ()
Denne funksjonen kan brukes i Meta -taggen og det skjulte inngangsfeltet til HTML -skjemaet. Det genererer en tilfeldig streng som et CSRF -token.
C. CSRF_FIELD ()
Denne funksjonen skaper et skjult felt for HTML -formen der det brukes og genererer CSRF -token.
Bruken av alternativene ovenfor vises ved hjelp av HTML -skjemaer i neste del av opplæringen.
Bruk av @CSRF:
Opprett en Laravel -visningsfil som heter CSRF1.blad.PHP med følgende HTML -kode hvor @csrf Direktiv brukes til å generere CSRF -token.
CSRF1.blad.PHP
Legg til følgende rute i Web.PHP Fil for å laste inn visningsfilen i nettleseren. Når brukeren vil gi CSRF1 Etter basen URL vil den søke CSRF1.blad.PHP fil i utsikt Mappe av Laravel -prosjektet.
Rute :: Vis ('/CSRF1', 'CSRF1');Start Apache -serveren og kjør følgende URL fra nettleseren for å laste visningen i nettleseren. Her, LaravelPro er Laravel -prosjektnavnet. Du kan også kjøre Laravel Development Server ved hjelp av PHP Artisan Command.
https: // localhost/laravelpro/public/csrf1
Hvis du inspiserer siden, vil du få utdataene som nedenfor. Her genereres et skjult felt med verdien automatisk av @csrf direktiv.
Bruk av CSRF_Token ():
Opprett en Laravel -visningsfil som heter CSRF2.blad.PHP med følgende HTML -kode der csrf_token () Funksjon brukes til å generere CSRF -token. Denne funksjonen brukes som verdien av verdien til det skjulte feltet, og den brukes med to krøllete parenteser.
CSRF2.blad.PHP
Legg til følgende rute i nettet.PHP Fil for å laste inn visningsfilen i nettleseren. Som den første metoden, når brukeren vil gi CSRF2 Etter basen URL vil den søke CSRF2.blad.PHP fil i utsikt Mappe av Laravel -prosjektet.
Rute :: visning ('/csrf2', 'csrf2');Kjør følgende URL fra hvilken som helst nettleser som før for å laste inn den andre visningsfilen.
https: // localhost/laravelpro/public/csrf2
Hvis du inspiserer siden, vil du få utdataene som nedenfor. Her genereres verdien av det skjulte feltet ved å bruke csrf_token () funksjon.
Bruk av CSRF_field ():
Opprett en Laravel -visningsfil som heter CSRF3.blad.PHP med følgende HTML -kode hvor CSRF_field () Funksjon brukes til å generere CSRF -token. Denne funksjonen fungerer som @csrf Direktiv og du trenger ikke å legge til et skjult felt i HTML -skjemaet. Det brukes også med to krøllete parenteser som csrf_token () funksjon.
CSRF3.blad.PHP
Legg til følgende rute i nettet.PHP Fil for å laste inn visningsfilen i nettleseren. Som den første metoden, når brukeren vil gi CSRF3 Etter basen URL vil den søke CSRF3.blad.PHP fil i utsikt Mappe av Laravel -prosjektet.
Rute :: visning ('/csrf3', 'csrf3');Kjør følgende URL fra hvilken som helst nettleser som før for å laste inn den andre visningsfilen.
https: // localhost/laravelpro/public/csrf3
Hvis du inspiserer siden, vil du få utdataene som nedenfor. Her genereres verdien av det skjulte feltet ved å bruke CSRF_FIELD () funksjon.
Alle tre metodene for å generere CSRF -token vist ovenfor genererer den samme tokenverdien for samme nettleser. Når angriperen vil sende enhver forespørsel om å få tilgang til innholdet til enhver autentisert bruker som er online da Verifycsrftoken Middleware vil samsvare med Request Token og lagret Session Token for å validere forespørselen før håndtering. På denne måten kan CSRF -angrepet enkelt forhindres i Laravel. Denne beskyttelsen kan deaktiveres fra Laravel ved å fjerne oppføringen av App \ http \ mellomvare \ verifycsrftoken av $ mellomvare Array fra filen app/http/kjerne.PHP.
Konklusjon:
Den uautoriserte tilgangen kan ha stor innvirkning på enhver applikasjon og skade dataene til den ordentlig. Så CSRF -beskyttelse er veldig viktig for å sikre enhver applikasjon der de forskjellige typene transnasjonale oppgaver blir utført. Denne opplæringen vil hjelpe Laravel -utviklerne til å kjenne måtene å sikre applikasjonen deres ved hjelp av CSRF -beskyttelse.