0

在 Laravel 5 中,我注意到每当我有一个用纯 HTML 编写的表单时,而不是使用 . Form::open,它需要有一个隐藏的令牌输入字段。

<input type="hidden" name="_token" value="<?php echo csrf_token(); ?>" />

对于更新记录的表单,它需要有<input name="_method" type="hidden" value="PATCH">

在使用纯 HTML 编写表单时,我应该始终拥有这些字段是否正确?如果我仍然用纯 HTML 编写它,还有其他方法可以做到这一点吗?

4

1 回答 1

1

对,那是正确的。对于 PATCH(以及基本上所有非 GET 或 POST 动词),除了使用_method.

这在文档的路由章节中进行了描述:方法欺骗

但是,您可以禁用 CSRF 保护。我不是说你应该这样做,但如果你愿意,你可以通过Illuminate\Foundation\Http\Middleware\VerifyCsrfToken从中间件数组中删除来禁用它app/Http/Kernel.php

这也在文档中:CSRF 保护

于 2015-03-18T21:08:38.347 回答