只在Chrome上使用Laravel 4 tokenmismatch

时间:2014-02-19 17:31:31

标签: php google-chrome laravel-4 token csrf

我使用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

1 个答案:

答案 0 :(得分:0)

解决了这个问题。因为我设置阻止所有网站设置任何数据(cookie),所以它不保留令牌.. 现在我已经改为允许设置本地数据。