VerifyCsrfToken.php 第 53 行中的 TokenMismatchException:(Firefox 浏览器)在 laravel 5.1 中?

Posted

技术标签:

【中文标题】VerifyCsrfToken.php 第 53 行中的 TokenMismatchException:(Firefox 浏览器)在 laravel 5.1 中?【英文标题】:TokenMismatchException in VerifyCsrfToken.php line 53:(Firefox browser) in laravel 5.1? 【发布时间】:2015-11-07 14:14:17 【问题描述】:

我试图找出为什么这个错误,即使它是全新安装的。我在我的项目中遇到了这个错误,所以我用谷歌搜索,没有一个答案对我有用。所以我创建了新项目并复制了所有控制器、视图和几个小时后,model.its 工作正常,再次出现令牌不匹配错误。为什么在 laravel 中会发生这种情况?

我的表格

<form class="form-horizontal action="http://localhost/laravel/public/add-post-new"  enctype="multipart/form-data" method="POST" accept-charset="UTF-8" >
        <div class="form-group">
            <label for="inputEmail" class="control-label col-xs-2">Title</label>
            <div class="col-xs-10">
                <input type="text" class="form-control" id="post_title" placeholder="Title" name="post_title">
            </div>
        </div>

        <div class="form-group">
            <label for="inputPassword" class="control-label col-xs-2">Content</label>
            <div class="col-xs-10"><textarea class="form-control" style="resize:none" rows="25" name="post_content"></textarea>
            </div>
        </div>
         <div class="form-group">
            <label for="inputPassword" class="control-label col-xs-2">Featured Image</label>
            <div class="col-xs-10"><input type="file" class="filestyle" data-buttonText="Find" name="featured_image">
            </div>
        </div>
     <div class="form-group">
            <label for="inputPassword" class="control-label col-xs-2">Post Images</label>
            <div class="col-xs-10"><input type="file" class="filestyle"  name="post_gallery[]" multiple />
            </div>
        </div>  

     <div class="form-group">
            <label for="inputPassword" class="control-label col-xs-2">Select Category</label>
            <div class="col-xs-10" >
            <select  class="form-control" name="cat_id">
                <?php $data=Category::all(); ?>
            <option value="0">Default Category</option>
            @foreach($data as $value)
                 <option value="$value->id">$value->cat_name</option>
              @endforeach 
        </select>

            </div>
        </div>      
 <div class="form-group">
            <label for="inputPassword" class="control-label col-xs-2">Publish Post</label>
            <div class="col-xs-10">
           <label class="radio-inline">
  <input type="radio" name="published" id="inlineRadio1" value="1"> Publish 
</label><br>
<label class="radio-inline">
  <input type="radio" name="published" id="inlineRadio2" value="2"> UnPublish
</label><br>
<label class="radio-inline">
  <input type="radio" name="published" id="inlineRadio2" value="3"> Draft
</label><br><br>

            </div>
        </div>      
 <div class="form-group">
            <label for="inputPassword" class="control-label col-xs-2">Slider Post</label>
            <div class="col-xs-10">
           <label class="radio-inline">
  <input type="radio" name="slider_post" id="inlineRadio1" value="1"> Slider Post 
</label><br>
<label class="radio-inline">
  <input type="radio" name="slider_post" id="inlineRadio2" value="2"> Not required
</label><br><br>


            </div>
        </div>  
        <div class="form-group">
            <div class="col-xs-offset-2 col-xs-10">
                <input name="_token" type="hidden" value=" csrf_token() "/>

                <button type="submit" class="btn btn-primary">Submit Post</button>
            </div>
        </div>

在提问之前我已经阅读了很多教程

Laravel 5, Forms, TokenMismatchException in VerifyCsrfToken.php line 46

Laravel 5 Auth Post Submit - TokenMismatchException in VerifyCsrfToken.php line 46

TokenMismatchException in VerifyCsrfToken.php line 53 in Laravel 5.1

TokenMismatchException in VerifyCsrfToken.php line 46

Laravel 5, ajax, 500 Internal Server Error, TokenMismatchException in VerifyCsrfToken.php line 46:

Laravel 5 TokenMismatchException in VerifyCsrfToken.php line 46

Encountering "TokenMismatchException in VerifyCsrfToken.php" error

Laravel TokenMismatchException

http://laravel.io/forum/01-30-2015-laravel5-tokenmismatchexception-in-verifycsrftoken

TokenMismatchException when uploading a Video?

更新:

【问题讨论】:

我认为问题可能出在表单的操作上。尝试将其更改为 url('add-post-new') 或类似的东西,而不是 http://localhost/laravel/public/add-post-new @JohnBupit.i 试过不工作。 您的表单中似乎也没有&lt;input name="_token" ... &gt;。我确定您阅读的其中一个教程中对此进行了解释。 @JohnBupit.i 也尝试了也无法正常工作的刀片模板令牌 我今天有同样的错误,它在我的开发环境中运行良好,但是当我将它推送到登台服务器时,它会抛出这个错误,我已经从工匠重新生成密钥,并删除了所有文件存储中的会话文件夹没有运气!这让我疯狂。我正在使用 From:: 外观,所以令牌的隐藏输入就在那里。 【参考方案1】:

这可能对某人有所帮助。 检查不是以空行或空格开头的 php 文件! 这给我带来了很多麻烦。包括上面那个!

【讨论】:

谢谢。我遇到了同样的问题,结果是由 routes.php 文件的打开 天啊。我已经在谷歌上搜索了大约 1 个小时,这是错误! routes.php 中的一个愚蠢的小空间。我在这里疯了。非常感谢。【参考方案2】:

在打开表单后尝试添加这一行

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

【讨论】:

除了 tokenmismatch 异常,一切正常吗?是否有任何特殊原因您提供这样的表单操作而不是使用 laravel 默认操作规则?如果您只是在表单操作中执行 /add-post-new 怎么办?结果是什么? .working.看起来像个愚蠢的错误,但对我来说花了很长时间。谢谢。有什么理由吗? 好吧,我之前遇到过同样的问题,花了我一周的时间来解决它。当且仅当我的回答对您有帮助时,请通过将其标记为正确来帮助我:) 让我们continue this discussion in chat。【参考方案3】:

我突然收到这个异常。

然后重新启动并清理缓存对我有用。

要清除缓存,请使用:php artisan cache:clear

【讨论】:

我只是在努力解决这个问题,这个建议为我解决了这个问题。我花了一个小时才找到这个,所以我非常感谢。【参考方案4】:

我遇到了这个痛苦的错误,这就是我修复它的方法: 1. 前往\Http\Controllers\Middleware\VerifyCsrfToken.php 2. 在protected $except 中添加您要排除在此验证之外的路线。示例:

protected $except = [
        'user*'
    ];

    如果仍然出现此错误,请在受保护的 $except 下方添加此函数

    public function handle($request, Closure $next) 
    
    $regex = '#' . implode('|', $this->except) . '#';
    
    if ($this->isReading($request) || $this->tokensMatch($request) || preg_match($regex, $request->path())) 
        return $this->addCookieToResponse($request, $next($request));
    
    
    throw new TokenMismatchException;
    

我想就是这样。我希望能帮助别人。

【讨论】:

这不是修复它的好方法,事实上它根本没有修复。该错误不应该出现,但这只是说“嘿,我们根本不要检查我们的表单”。

以上是关于VerifyCsrfToken.php 第 53 行中的 TokenMismatchException:(Firefox 浏览器)在 laravel 5.1 中?的主要内容,如果未能解决你的问题,请参考以下文章

VerifyCsrfToken.php 第 53 行中的 TokenMismatchException:(Firefox 浏览器)在 laravel 5.1 中?

laravel Route post 提交TokenMismatchException in VerifyCsrfToken.php line 53:

Laravel Dingo API 和中间件问题\\VerifyCsrfToken.php

TokenMismatchException 在使用 ajax 在 laravel 上的 VerifyCsrfToken.php 第 67 行

VerifyCsrfToken.php 第 67 行中的 TokenMismatchException:同时将 paytm 与 laravel 5.3 集成

VerifyCsrfToken.php 中的 TokenMismatchException