📜  laravel 请求全部删除 _token - PHP (1)

📅  最后修改于: 2023-12-03 15:17:16.309000             🧑  作者: Mango

Laravel请求全部删除_token

在Laravel中,当使用Web表单提交时,表单必须包含CSRF令牌以防止跨站点请求伪造攻击(CSRF)。通常,我们使用Laravel表单生成器 form 来构建表单元素。在表单中,此项目可以通过以下方式访问:

{{ csrf_field() }}

在处理表单提交时,Laravel使用此令牌验证请求是否有效。但在某些特定情况下,您可能需要删除所有 *_token 项目,例如,当日志中出现以下错误消息时:

The page has expired due to inactivity. Please refresh and try again.

要完全删除所有*_token项目,可以使用以下示例代码:

use Illuminate\Http\Request;

class YourController extends Controller
{
    public function yourFunction(Request $request)
    {
        $input = $request->except('_token');

        // ...
    }
}

在上面的代码中,except() 方法用于通过提供的 key 值从输入数组中获取所有数据,但删除给定的数组项。在这种情况下,通过传递 _token 作为 key 的值,我们可以删除所有表单中的*_token输入。

结论

以上是如何在Laravel中删除所有 *_token 项目的方法。如果您遇到此问题,使用上述示例代码应该能够解决问题。然而,您需要注意,删除所有 *_token 项目并不总是推荐的。在大多数情况下,这些项目是必需的,并且需要在表单中进行检查以防止对您的应用程序进行攻击。