Rumah >pembangunan bahagian belakang >tutorial php >Bila dan Bagaimana untuk Mengendalikan Kod Status 419 dalam Permintaan POST dan PUT Laravel?
Memahami Kod Status 419 dalam API Laravel untuk Kaedah POST dan PUT
Apabila membangunkan API RESTful dengan Laravel, adalah perkara biasa untuk menghadapi 419 kod status semasa membuat permintaan POST atau PUT. Kod status ini menunjukkan bahawa permintaan telah ditolak kerana kekurangan token CSRF yang sah.
Punca Punca
Secara lalai, Laravel menggunakan token CSRF untuk melindungi daripada silang -serangan pemalsuan permintaan tapak (CSRF). Apabila menggunakan kumpulan middleware web untuk laluan API, pengesahan CSRF didayakan dan sebarang permintaan yang mengubah suai keadaan aplikasi (cth., POST atau PUT) memerlukan token yang sah.
Untuk Bukan Web -API Berasaskan
Jika anda sedang membangunkan API yang tidak dimaksudkan untuk digunakan daripada penyemak imbas web (cth., apl mudah alih atau alat baris arahan), adalah tidak perlu untuk mempunyai perlindungan CSRF kerana persekitaran ini adalah lazimnya tidak terdedah kepada serangan CSRF.
Untuk melumpuhkan pengesahan CSRF bagi API bukan berasaskan web, anda boleh mengalihkan laluan API di luar kumpulan perisian tengah web dalam fail route/web.php atau gunakan api.php fail sebaliknya. Dalam api.php, pengesahan CSRF dilumpuhkan secara automatik.
Untuk API Berasaskan Web
Jika anda sedang membangunkan API yang akan diakses daripada penyemak imbas web, anda mungkin mahu mengelak daripada mengecualikan keseluruhan kumpulan laluan API daripada pengesahan CSRF. Sebaliknya, anda boleh secara selektif mengecualikan laluan tertentu yang anda tahu tidak akan tertakluk kepada serangan CSRF.
Untuk melakukan ini, tambahkan laluan tersebut pada tatasusunan $except dalam perisian tengah VerifyCsrfToken:
<code class="php">namespace App\Http\Middleware; use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as BaseVerifier; class VerifyCsrfToken extends BaseVerifier { protected $except = [ '/api/stripe/*', '/api/non-susceptible-route', ]; }</code>
Pendekatan ini membolehkan anda mengekalkan perlindungan CSRF untuk kebanyakan laluan API anda sambil mengecualikan laluan khusus yang tidak mungkin disasarkan oleh serangan CSRF.
Atas ialah kandungan terperinci Bila dan Bagaimana untuk Mengendalikan Kod Status 419 dalam Permintaan POST dan PUT Laravel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!