Rumah > Artikel > rangka kerja php > Bagaimana untuk mematikan csrf dalam laravel
Kaedah: 1. Buka fail "Kernel.php" di bawah apl, cari dan ulas kod "AppHttpMiddlewareVerifyCsrfToken". 2. Buka fail "VerifyCsrfToken.PHP" di bawah apl dan ubah suai atribut "$except".
Persekitaran pengendalian tutorial ini: sistem Windows 7, versi Laravel 5, komputer DELL G3.
Jika anda menggunakan laravel, anda akan mengetahui fungsi pengesahan csrf Jika tiada csrf_token apabila nilai pos diluluskan, ralat berikut akan dilaporkan:
Ini kerana dalam versi selepas 5.2, perisian tengah web akan ditambahkan pada penghalaan secara lalai.
Terdapat konfigurasi berikut dalam fail app/Http/Kernel.php:
Pada ketika ini, semua orang mesti tahu Cara mematikan pengesahan ini. Hanya ulas baris kod yang ditandakan dalam gambar di atas, yang akan mematikan pengesahan CSRF, tetapi ini akan mematikan segala-galanya .
Apabila kita menulis antara muka, kita akan menghadapi masalah ini: kerana csrf_token tidak boleh melalui antara muka (csrf_token dijana dalam laravel), saya hanya mahu matikan pengesahan CSRF apabila membuat permintaan API, dan latar belakang tapak web tidak akan dimatikan.
Ini memerlukan pengubahsuaian fail appHttpMiddlewareVerifyCsrfToken.php
Terdapat atribut $kecuali dalam fail Anda boleh menetapkan laluan mana yang tidak memerlukan pengesahan csrf dengan api untuk dikecualikan Untuk melakukan pengesahan CSRF, cuma tambah 'api/*'.
Dengan cara ini saya melawati http://***/laravel/ public /api/index tidak akan melaporkan ralat.
Cadangan berkaitan: Lima tutorial video Laravel terbaharu
Atas ialah kandungan terperinci Bagaimana untuk mematikan csrf dalam laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!