by Devin Yang

建立於: 8年前 ( 更新: 8年前 )

為何Laravel需要有Form Method Spoofing呢?
因為HTML表單並不支援PUTPATCHDELETE動作,因此在Laravel
在提交HTML表單送出時,我們需要透過一個隱藏的_method輸入欄,作為HTTP的請求發送。
這樣Laravel的Restful風格路由才可以知道這個請求是PUT還是PATCH...等。

Laravel 5.5版前,表單可使用埋入兩個隱藏input欄位:
<form action="/foo/bar" method="POST">
    <input type="hidden" name="_method" value="PUT">
    <input type="hidden" name="_token" value="{{ csrf_token() }}">
</form>
或是
<form action="/foo/bar" method="POST">
    {{ method_field('PUT') }}
    {{ csrf_field() }}
</form>
Laravel 5.6版後,我們也可以透過Blade directive達到相同的效果:
<form action="/foo/bar" method="POST">
    @method('PUT')
    @csrf
</form>

 

Tags: laravel

Devin Yang

文章內容無法一一說明,如果您有什麼不了解處,歡迎提問哦:)

No Comment

Post your comment

需要登入才可留言!

類似的文章


docker,laravel

[D-Laravel]./console node

進行Laravel開發時,有時我們會需要透過npm安裝nodejs的套件,但是偏偏我們系統中的Node又不夠新。 或許因某些因素沒法升級,例如要跑舊版的nodejs程式等。 其實我們可以透過簡單的指令,用docker,讓我們就能使用最新版本的node image來掛載host端的/sites資料夾囉。 這麼一來我們就可以隨時執行新版本的npm指令啦。

dlaravel,docker

D-Laravel學習三階段

閒聊D-Laravel的使用的三階段,為何使用D-Laravel。 因為D-Laravel使用的設定檔都相當的簡單,極適何Docker的初學者學習, 並且就自不懂Docker運用的使用者,也可以借住./console及./create兩個指令建立專案。

laravel

Laravel 5.6有那些新變更

Laravel 5.6計劃於2018年2月釋出,有那些變更呢?我們來看看吧。(Argon2i Password Hashing Algorithm) ​​​​​​​Argon2 提供以下三種版本: 1. 在Laravel 5.6將支援 Argon2i密碼雜湊算法。 (Argon2i Password Hashing Algorithm) 2. Argon2d最大限度地抵抗GPU的破解攻擊。 3. Argon2i經過優化,可以抵抗旁路攻擊(side-channel attack)。 三、Argon2id是一個混合版本。 它遵循Argon2i方法進行第一遍遍歷,然後使用Argon2d方法進行後續遍歷。 看不懂沒關係,反正我也看不懂,重點是,反正比較安全是可以確定的。這是開放密碼雜溙競賽(PHC)在2015年7月20日