Php 每个表单上的Laravel 5.2 CSRF字段?

Php 每个表单上的Laravel 5.2 CSRF字段?,php,laravel,laravel-5.2,Php,Laravel,Laravel 5.2,我今天的问题是: 我有一个使用标准身份验证运行的Laravel 5.2项目。我已登录到后端,一切正常。但是我必须在每个表单上使用{{{csrf_field()}}是正常的吗 我知道我有它在登录表,这是必要的 但是,当我在后端构建一个新表单时,Laravel希望“CSRF验证”,尽管我的模型(我将把数据保存到)没有\u令牌-字段 所以我实现了{{csrf_field()}}并使用$match->bet()->create($request->except([''u-token')以避免错误 这条路

我今天的问题是:

我有一个使用标准身份验证运行的Laravel 5.2项目。我已登录到后端,一切正常。但是我必须在每个表单上使用
{{{csrf_field()}}
是正常的吗

我知道我有它在登录表,这是必要的

但是,当我在后端构建一个新表单时,Laravel希望“CSRF验证”,尽管我的模型(我将把数据保存到)没有
\u令牌
-字段

所以我实现了
{{csrf_field()}}
并使用
$match->bet()->create($request->except([''u-token')以避免错误

这条路对吗?我觉得很奇怪


我必须在每个表单上使用{{csrf_field()}},这是Laravel的正常行为吗?或者有没有办法在帖子上避免这种情况?一种简单的方法…

如果您使用
表单::open()
它会自动将csrf字段添加到您的表单中。而且您不需要使用
csrf\u token()
helper函数

要使用
Form
facade,您需要安装
laravelcollective
,因为
HTML
Form
已从Laravel5中删除*

如果您对CSRF中间件感到困扰,可以将其删除。它在那里保护你。尽管更好的选择是向VerifyCsrfToken中间件添加豁免

protected $except = [
    'admin/*'
];
如果您想排除“admin”中的所有URL,则可能


正如xAoc提到的,在模型上正确设置“fillable”也有助于在填充模型时过滤掉任何不需要的字段。

您不想在某些post请求上禁用csrf,对吗?不清楚您想做什么。。。你能澄清一下吗?好的,我明白,但是对于这个字段,我的请求变量中总是有“\u token”,尽管我不需要它,因为我的模型没有这个列。出于安全原因,你需要它。您可以为每个模型指定
可填充的
字段,并传递
$request->all()
以创建\update method,我在所有模型中都没有也不需要“\u token”列,但如果没有它,它将抛出错误。所以我必须始终使用
$match->bet()->create($request->except([''u token'])
不在请求中使用“\u令牌”。这是正确的方法吗?