Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bila dan Bagaimana untuk Mengendalikan Kod Status 419 dalam Permintaan POST dan PUT Laravel?

Bila dan Bagaimana untuk Mengendalikan Kod Status 419 dalam Permintaan POST dan PUT Laravel?

DDD
DDDasal
2024-10-18 20:33:30906semak imbas

When and How to Handle the 419 Status Code in Laravel POST and PUT Requests?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn