【发布时间】:2023-03-10 18:30:01
【问题描述】:
我有一个在 URL 末尾有一个动态参数的路由。在这条路线中,我使用 post 方法获取从外部 API 发送的数据。由于外部API发送post请求时出现419 page expired错误,我需要为这条路由禁用csrf保护。
相关路线:
Route::group(['middleware' => ['auth:student']], function (){
Route::post('Result', 'ExamController@Result')->name('exam.Result');
}
我的网址示例:
http://localhost.dev/student/Result?Id=N7utfGkwOLebxMWGA5iUC4S23jgRzW
我尝试将此代码添加到App\Http\Middleware 的VerifyCsrfToken 文件中:
protected $except = [
'student/Result/*',
];
它不起作用。但是当我尝试student/* 时,它运行良好。但是,对所有 student 路径禁用 csrf 保护并不是我想要的。
我也尝试过这种方式,通过this thread 获得参考:
Route::post('Result', [
'uses' => 'ExamController@Result',
'nocsrf' => 'true'
])->name('exam.Result');
那也没用。
在这种情况下如何禁用 csrf 保护?
【问题讨论】: