今天繼續研究laravel,在路由裏註冊了一個控制器路由Route::controller()。php
先get請求一個頁面laravel
class UserController extends Controller{ public function getIndex(){ echo view('index'); } }
OK,沒有問題,請求成功。session
繼續。post
post請求,網站
public function postLogin(){ }
失敗!!!!spa
很奇怪,按照文檔應該是這樣寫method+name 的形式。很蛋疼,仔細檢查是否是請求名稱錯誤,沒有錯。code
百度一下,額~,貌似沒有,應該不是什麼問題,多是我寫的不對,回頭繼續去看laravel的文檔。csrf
原來是post請求laravel會啓動CSRF保護blog
如下是laravel文檔裏的的說法:模板引擎
Laravel 提供簡易的方法,讓您能夠保護您的應用程序不受到 CSRF (跨網站請求僞造)攻擊。跨網站請求僞造是一種惡意的攻擊,藉以表明通過身份驗證的用戶執行未經受權的命令。
Laravel 會自動在每一位用戶的 session 中放置隨機的 token
,這個 token 將被用來確保通過驗證的用戶是實際發出請求至應用程序的用戶:
<input type="hidden" name="_token" value="<?php echo csrf_token(); ?>">
固然也能夠在 Blade 模板引擎使用:
<input type="hidden" name="_token" value="{{ csrf_token() }}">