本文實(shí)例講述了laravel框架中表單請(qǐng)求類型和CSRF防護(hù)。分享給大家供大家參考,具體如下:
laravel中為我們提供了綁定不同http請(qǐng)求類型的函數(shù)。
Route::get('/test', function () {});
Route::post('/test', function () {});
Route::put('/test', function () {});
Route::patch('/test', function () {});
Route::delete('/test', function () {});
Route::options('/test', function () {});
但有些時(shí)候,我們通過(guò)創(chuàng)建資源控制器,里面的 update() 方法綁定的是 PUT 類型的http請(qǐng)求。
這就需要我們通過(guò)表單提交模擬PUT請(qǐng)求。我們可以自已添加一個(gè) _method 的隱藏字段,值為 PUT。
form action="{{ route('test') }}" method="post">
input type="hidden" name="_method" value="PUT">
用戶名:input type="text" name="name">
密碼:input type="password" name="pwd">
input type="submit" value="提交">
/form>
也可以使用laravel為我們提供的 method_field() 方法。
form action="{{ route('test') }}" method="post">
{{ method_field('PUT') }}
用戶名:input type="text" name="name">
密碼:input type="password" name="pwd">
input type="submit" value="提交">
/form>
laravel默認(rèn)會(huì)對(duì)每個(gè)提交請(qǐng)求,進(jìn)行csrf令牌的驗(yàn)證。為了通過(guò)驗(yàn)證,需要在表單中添加 _token 隱藏字段。
form action="{{ route('test') }}" method="post">
input type="hidden" name="_token" value="{{ csrf_token() }}">
用戶名:input type="text" name="name">
密碼:input type="password" name="pwd">
input type="submit" value="提交">
/form>
或者使用 csrf_field() 方法。
form action="{{ route('test') }}" method="post">
{{ csrf_field() }}
用戶名:input type="text" name="name">
密碼:input type="password" name="pwd">
input type="submit" value="提交">
/form>
更多關(guān)于Laravel相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Laravel框架入門(mén)與進(jìn)階教程》、《php優(yōu)秀開(kāi)發(fā)框架總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程》、《php+mysql數(shù)據(jù)庫(kù)操作入門(mén)教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家基于Laravel框架的PHP程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:- Laravel 解決419錯(cuò)誤 -ajax請(qǐng)求錯(cuò)誤的問(wèn)題(CSRF驗(yàn)證)
- 對(duì)laravel的csrf 防御機(jī)制詳解,及form中csrf_token()的存在介紹
- laravel 實(shí)現(xiàn)關(guān)閉CSRF(全部關(guān)閉、部分關(guān)閉)
- laravel csrf排除路由,禁止,關(guān)閉指定路由的例子
- Laravel框架中VerifyCsrfToken報(bào)錯(cuò)問(wèn)題的解決
- laravel csrf驗(yàn)證總結(jié)