laravel post请求失败

今天继续研究laravel,在路由里注册了一个控制器路由Route::controller()。

先get请求一个页面

class UserController extends Controller{
    
    public function getIndex(){
        
        echo view('index');
    }

}

OK,没有问题,请求成功。

继续。

post请求,

public function postLogin(){
        
    }

失败!!!!

 

很奇怪,按照文档应该是这样写method+name 的形式。很蛋疼,仔细检查是不是请求名称错误,没有错。

百度一下,额~,貌似没有,应该不是什么问题,可能是我写的不对,回头继续去看laravel的文档。

 

原来是post请求laravel会启动CSRF保护

以下是laravel文档里的的说法:

Laravel 提供简易的方法,让您可以保护您的应用程序不受到 CSRF (跨网站请求伪造)攻击。跨网站请求伪造是一种恶意的攻击,借以代表经过身份验证的用户执行未经授权的命令。

Laravel 会自动在每一位用户的 session 中放置随机的 token ,这个 token 将被用来确保经过验证的用户是实际发出请求至应用程序的用户:

插入 CSRF Token 到表单

<input type="hidden" name="_token" value="<?php echo csrf_token(); ?>">

当然也可以在 Blade 模板引擎使用:

<input type="hidden" name="_token" value="{{ csrf_token() }}">

 

posted on 2015-12-21 15:47  不抽烟不喝酒  阅读(3213)  评论(0编辑  收藏  举报