![](/img/trans.png)
[英]Disable Laravel CSRF Protection for /api routes when consuming API with JavaScript
[英]Turn on CSRF protection for a group of GET routes in Laravel
我在 Laravel 上有以下一組GET
路由:
Route::get('/location/get', 'Ajax@getProducts');
Route::get('/products/get', 'Ajax@getProducts');
Route::get('/schedule/get', 'Ajax@getProducts');
我想使用Laravel
自動生成的CSRF
令牌來保護這些路由。
我已經閱讀了一些關於覆蓋方法的變通方法: VerifyCsrfToken@isReading(...)
,但我對此不太相信。
然后我正在尋找一個更優雅的解決方案。
謝謝!
CSRF 不保護您的數據。 更多信息: https://security.stackexchange.com/a/115808
如果您沒有理由對 CSRF 使用 GET 方法,只需將 POST 與默認csrf
中間件組一起使用:
Route::group(['before' => 'csrf'], function() {
// your ::post routes
});
無論如何,您可以嘗試創建 VerifyCsrfTokenAll 中間件,並使用此答案中的csrf_get
密鑰: https://stackoverflow.com/a/41656322/2453148然后將您的路由包裝在該組中:
Route::group(['before' => 'csrf_get'], function() {
// your routes
});
我會堅持的最好的事情是將 @csrf 包含在您的刀片表格中。
<form action=“{{ your route name }}” method=“GET”> @csrf </form>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.