Laravel 的 CSRF 保護機制是自動的,它會自動為所有請求添加 CSRF token。如果你希望在特定的 URL 上禁用 CSRF 保護,你可以使用 Laravel 的 csrf middleware。
你需要在你的路由文件中定義一個中間件來處理 CSRF 驗證。這個中間件應該接收一個參數(shù),用于指定哪些 URL 需要 CSRF 保護。
// app/Http/Middleware/VerifyCsrfToken.php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Route;
class VerifyCsrfToken
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if ($request->route()->getName() == 'your-specific-url') {
return $next($request);
}
return response()->json(['error' => 'CSRF token verification failed'], 403);
}
}
然后,你需要在你的路由文件中啟用這個中間件。你可以通過在路由定義中添加 middleware
屬性來實現(xiàn)這一點。
// routes/web.php
Route::get('/your-specific-url', 'YourController@yourMethod');
這樣,只有當訪問 '/your-specific-url' 時,CSRF token 才會被驗證。其他所有的請求都會通過 CSRF 中間件,因此不會被 CSRF token 驗證。
本文內(nèi)容根據(jù)網(wǎng)絡資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。