laravel

Laravelská ochrana CSRF

Laravelská ochrana CSRF
Plnou formou CSRF je Cross-Site Request Forgery. Jedná se o jeden typ online útoku, při kterém útočník odesílá požadavky jako autorizovaný uživatel do systému získáním přístupových informací o konkrétním uživateli daného systému a provádí různé typy škodlivých aktivit pomocí identity tohoto uživatele. Dopad tohoto útoku závisí na oprávněních oběti v systému. Pokud je oběť běžným uživatelem, bude to mít vliv pouze na osobní údaje oběti. Pokud je však oběť správcem systému, může útočník poškodit celý systém. Tento útok může ovlivnit uživatele jakékoli obchodní webové stránky a sociálních sítí. Tomuto útoku lze snadno zabránit pomocí ochrany Laravel CSRF, aby byl systém bezpečnější. Laravel generuje CRSF token pro každou aktivní relaci uživatele automaticky, čímž se každému požadavku a schválení dostane ověřený uživatel pro systém. Jak lze aplikaci Laravel CSRF Protection použít v aplikaci Laravel, je uvedeno v tomto výukovém programu.

Předpoklady:

Před spuštěním tohoto tutoriálu se musíte ujistit, že je Laravel nainstalován a správně funguje v systému. Nainstaloval jsem v systému následující aplikace, abych provedl tento výukový program.

Jak implementovat CSRF:

Ochrana CSRF může být implementována v Laravelu pomocí libovolného formuláře HTML se skrytou formou tokenu CSRF a požadavek uživatele je ověřen pomocí middlewaru CSRF VerifyCsrfToken. K vygenerování tokenu CSRF lze použít kteroukoli z následujících možností.

A. @csrf

Jedná se o direktivu blade, která generuje pole tokenu, které se použije pro ověření. Generuje skryté vstupní pole.

B. csrf_token ()

Tuto funkci lze použít v metaznačce a skrytém vstupním poli formuláře HTML. Generuje náhodný řetězec jako token CSRF.

C. csrf_field ()

Tato funkce vytváří skryté pole pro formulář HTML, kde se používá, a generuje token CSRF.

Použití výše uvedených možností je zobrazeno pomocí formulářů HTML v další části výukového programu.

Použití @csrf:

Vytvořte soubor s názvem Laravel s názvem csrf1.čepel.php s následujícím HTML kódem, kde @csrf Direktiva se používá ke generování tokenu CSRF.

csrf1.čepel.php



Ochrana CSRF



Laravel CSRF Protection Method-1



@csrf










Přidejte následující trasu do web.php soubor pro načtení souboru zobrazení v prohlížeči. Když uživatel dá csrf1 za základní URL pak prohledá csrf1.čepel.php soubor v Pohled složka projektu Laravel.

Route :: view ('/ csrf1', 'csrf1');

Spusťte server Apache a spusťte následující adresu URL z prohlížeče a načtěte zobrazení v prohlížeči. Tady, laravelpro je název laravel projektu. Vývojový server Laravel můžete spustit také pomocí příkazu PHP artisan.

https: // localhost / laravelpro / public / csrf1

Pokud stránku prohlédnete, získáte výstup níže. Zde je automaticky generováno skryté pole s hodnotou @csrf směrnice.

Použití csrf_token ():

Vytvořte soubor s názvem Laravel s názvem csrf2.čepel.php s následujícím HTML kódem, kde csrf_token () funkce se používá ke generování tokenu CSRF. Tato funkce se používá jako hodnota atributu hodnoty skrytého pole a používá se se dvěma složenými závorkami.

csrf2.čepel.php



Ochrana CSRF



Laravel CSRF Protection Method-2














Přidejte následující trasu v síť.php soubor pro načtení souboru zobrazení v prohlížeči. Stejně jako první metoda, když uživatel dá csrf2 za základní URL pak bude hledat csrf2.čepel.php soubor v Pohled složka projektu Laravel.

Route :: view ('/ csrf2', 'csrf2');

Spusťte následující adresu URL z libovolného prohlížeče jako dříve a načtěte druhý soubor zobrazení.

https: // localhost / laravelpro / public / csrf2

Pokud stránku prohlédnete, získáte výstup níže. Zde je hodnota skrytého pole generována pomocí csrf_token () funkce.

Použití csrf_field ():

Vytvořte soubor s názvem Laravel s názvem csrf3.čepel.php s následujícím HTML kódem, kde csrf_field () funkce se používá ke generování tokenu CSRF. Tato funkce funguje jako @csrf směrnice a nemusíte přidávat skryté pole ve formuláři HTML. Používá se také se dvěma složenými závorkami jako csrf_token () funkce.

csrf3.čepel.php



Ochrana CSRF



Laravel CSRF Protection Method-3









csrf_field ()




Přidejte následující trasu v síť.php soubor pro načtení souboru zobrazení v prohlížeči. Stejně jako první metoda, když uživatel dá csrf3 za základní URL pak prohledá csrf3.čepel.php soubor v Pohled složka projektu Laravel.

Route :: view ('/ csrf3', 'csrf3');

Spusťte následující adresu URL z libovolného prohlížeče jako dříve a načtěte druhý soubor zobrazení.

https: // localhost / laravelpro / public / csrf3

Pokud stránku prohlédnete, získáte výstup níže. Zde je hodnota skrytého pole generována pomocí csrf_field () funkce.

Všechny tři metody generování tokenu CSRF zobrazené výše generují stejnou hodnotu tokenu pro stejný prohlížeč. Když útočník odešle jakýkoli požadavek na přístup k obsahu jakéhokoli ověřeného uživatele, který je online, pak VerifyCsrfToken middleware bude shodovat token požadavku a uložený token relace k ověření požadavku před zpracováním. Tímto způsobem lze v Laravelu snadno zabránit útoku CSRF. Tuto ochranu lze z laravel vypnout odstraněním položky App \ Http \ Middleware \ VerifyCsrfToken z $ middleware pole ze souboru aplikace / http / jádro.php.

Závěr:

Neoprávněný přístup může mít zásadní dopad na jakoukoli aplikaci a řádně poškodit její data. Ochrana CSRF je tedy velmi důležitá pro zabezpečení jakékoli aplikace, kde se provádějí různé typy nadnárodních úkolů. Tento kurz pomůže vývojářům Laravelu poznat způsoby, jak zabezpečit jejich aplikaci pomocí ochrany CSRF.

Hry Nainstalujte si nejnovější Dolphin Emulator pro Gamecube a Wii na Linuxu
Nainstalujte si nejnovější Dolphin Emulator pro Gamecube a Wii na Linuxu
Emulátor Dolphin vám umožní hrát vybrané hry Gamecube a Wii na osobních počítačích se systémem Linux (PC). Jako volně dostupný herní emulátor s otevř...
Hry Jak používat GameConqueror Cheat Engine v Linuxu
Jak používat GameConqueror Cheat Engine v Linuxu
Tento článek popisuje průvodce používáním cheatovacího modulu GameConqueror v systému Linux. Mnoho uživatelů, kteří hrají hry v systému Windows, často...
Hry Nejlepší emulátory herních konzolí pro Linux
Nejlepší emulátory herních konzolí pro Linux
Tento článek uvádí seznam populárního softwaru pro emulaci herních konzolí, který je k dispozici pro Linux. Emulace je vrstva softwarové kompatibility...