在Laravel 5中,我注意到每当我有一个用纯HTML编写的表单时,不需要使用Form::open
,就需要为该令牌设置一个隐藏的输入字段。
<input type="hidden" name="_token" value="<?php echo csrf_token(); ?>" />
对于更新记录的表单,需要<input name="_method" type="hidden" value="PATCH">
在使用纯HTML编写表单时,我应该始终拥有这些字段是否正确?如果我仍然用纯HTML编写它,还有其他方法吗?
答案 0 :(得分:1)
是的,这是正确的。对于PATCH(基本上所有非GET或POST动词),除了使用_method
之外别无他法。
这在文档的路径章节中有所描述:Method Spoofing
但是可以禁用CSRF保护。我不是说你应该这样做,但如果你愿意,你可以通过从Illuminate\Foundation\Http\Middleware\VerifyCsrfToken
app/Http/Kernel.php
来禁用它
这也在文档中:CSRF Protection