我使用csrf,它在safari和firefox(可以显示POST页面)中工作正常,但只在chrome中获取TokenMismatchException?有谁知道这个问题是什么?我试图清除捕获物,但它保持不变。
routes.php文件
/*
| Unauthenticated group
*/
Route::group(array('before' => 'guest'), function(){
/*
| CSRF protection group
*/
Route::group(array('before' => 'csrf'), function(){
/*
| Create Account (POST)
*/
Route::post('/account/create', array(
'as' => 'account-create-post',
'uses' => 'AccountController@postCreate'
));
});
/*
| Create Account (GET)
*/
Route::get('/account/create', array(
'as' => 'account-create',
'uses' => 'AccountController@getCreate'
));
});
AccountController.php
<?php
class AccountController extends BaseController{
public function getCreate(){
return View::make('account.create');
}
public function postCreate(){
return 'Hello.';
}
}
create.blade.php
@extends('layouts.master')
@section('content')
<form action="{{ URL::route('account-create-post') }}" method="post">
<input type="submit" value="Create account">
{{ Form::token() }}
</form>
@stop
答案 0 :(得分:0)
解决了这个问题。因为我设置阻止所有网站设置任何数据(cookie),所以它不保留令牌.. 现在我已经改为允许设置本地数据。