📅  最后修改于: 2023-12-03 15:17:16.309000             🧑  作者: Mango
_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
项目并不总是推荐的。在大多数情况下,这些项目是必需的,并且需要在表单中进行检查以防止对您的应用程序进行攻击。