gpt4 book ai didi

php - 在 laravel 中禁用特定路由的 csrf

转载 作者:IT王子 更新时间:2023-10-29 01:23:35 26 4
gpt4 key购买 nike

我有一个支付系统,数据被提交到第 3 方网站,然后被拉回......

当数据返回时,它会点击特定的 url,比如说/ok 路由。 $_REQUEST['transaction'].

但是由于 laravel 中间件,我得到了 token 不匹配。没有办法 3rd 方支付 API 可以生成 token ,那么我如何禁用它呢?只适用于这条路线?

还是有更好的选择?

Route::get('/payment/ok',   'TransactionsController@Ok');
Route::get('/payment/fail', 'TransactionsController@Fail');

public function Ok( Request $request )
{
$transId = $request->get('trans_id');

if ( isset( $transId ) )
{

return $transId;

}

}

最佳答案

5.1 版本开始,Laravel 的 VerifyCsrfToken 中间件允许指定路由,这些路由被排除在 CSRF 验证之外。为了实现这一点,您需要将路由添加到 App\Http\Middleware\VerifyCsrfToken.php 类中的 $except 数组:

<?php namespace App\Http\Middleware;

use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as BaseVerifier;

class VerifyCsrfToken extends BaseVerifier
{
protected $except = [
'payment/*',
];
}

参见 docs获取更多信息。

关于php - 在 laravel 中禁用特定路由的 csrf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31729415/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com