表单方法伪造
HTML 表单不支持 PUT
、PATCH
或者 DELETE
请求方法,因此,在 HTML 表单中调用 PUT
、PATCH
或 DELETE
路由时,需要添加一个隐藏的 _method
字段,其值被用作该表单的 HTTP 请求方法:
<form action="/foo/bar" method="POST">
<input type="hidden" name="_method" value="PUT">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
</form>
还可以直接使用 Blade 指令 @method
来生成 _method
字段:
<form action="/foo/bar" method="POST">
@method('PUT')
@csrf
</form>