CSRF 令牌不匹配 Laravel 4

2024-01-09

这真让我抓狂。无论是来自 Laravel 表单还是来自 AJAX,我在每个 POST 上都会遇到令牌不匹配的情况。我在过滤器中添加了一些代码来显示会话与 _token:

Route::filter('csrf', function()
{
if ($_SERVER['REQUEST_METHOD'] !== 'GET') {

    $token = Input::has('_token') ? Input::get('_token') : '';
    $sessionToken = Session::token();

    if ($sessionToken != $token)
    {
        $message = 'Token mismatch';

        // This one is for debug purposes only
        return Response::json(['flash' => "$message; session: $sessionToken ; yours : $token"], 401);

        return Response::json(['flash' => $message], 401);
    }
  }
  });

这是登录表单:

        {{ Form::open(array('route' => 'sessions.store')) }}

        <div class="form-group">
            {{ Form::label('email', 'Email Address') }}
            {{ Form::text('email', '', array('placeholder' => '[email protected] /cdn-cgi/l/email-protection', 'class' => 'form-control')) }}
        </div>

        <div class="form-group">
            {{ Form::label('password', 'Password') }}
            {{ Form::password('password', array('placeholder' => 'Enter your password', 'class'=>'form-control')) }}
        </div>

        <div class="form-group">
            {{ Form::submit('Sign in', array('class' => 'btn login'))}}

            <a href="{{{ URL::to('session/registration') }}}" class="btn signup">Create an Account</a>
        </div>

    {{ Form::close() }}

例如,登录时,这是我得到的令牌不匹配闪存:

{"flash":"Token mismatch; session: uN3sd8PNWUfgTuqc1RZrRfXgpGpHOEKkCtoo3XVX ; yours : Ybmn6u80rLpxIcGdahd7KT2eR6WmcaPN28arZ9kg"}

当我将 app/config/session.php 设置为“apc”时就会发生这种情况。当它设置为“native”或“cookie”时一切都很好。我将缓存设置为“apc”,这是我们服务器上的缓存引擎。

Ideas?


您没有提交_token和你的POST要求。

Add

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

before {{Form::close()}}

http://laravel.com/docs/security#protecting-routes http://laravel.com/docs/security#protecting-routes

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CSRF 令牌不匹配 Laravel 4 的相关文章

  • 阻止 Laravel 中的路由会话(自定义按需会话处理)

    我正在使用 laravel 为我的 Android 应用程序构建 API 并将默认会话驱动程序设置为 REDIS 我在这里找到一篇好文章http dor ky laravel prevent sessions for routes via
  • 多选编辑表单选定值

    在 Laravel 4 中遇到一个问题时 在 联系人 模型编辑表单中 我可以获得所有字段的当前值 除了用于与另一个模型 公司 建立关系的多重选择的字段值 这是一种多对多的关系 我正在获取公司列表 但即使存在关系 也没有选择任何公司 这是我的
  • 使用 URL::action() 时如何更改域

    我正在尝试复制 Laravel 3 中可用的内容 我希望能够为路由指定备用域名 例如 我有一条使用此代码生成以下内容的路线 URL action DashboardController something Produces http som
  • Vagrant、Codeception 和 Laravel 问题。未发现Http异常

    我正在尝试使用代码接收 http codeception com用于我的验收测试 我的一项测试有以下内容
  • Laravel:每当我返回模型时,总是返回与它的关系

    我有 2 张桌子 User Doctor id id email user id name signature last name photo password description date birth Every Doctor与一个有
  • Laravel:获取调用控制器方法的视图的名称

    在 Laravel 中 是否可以获取调用您当前所在的控制器方法的视图的名称 我的网站中有两个版本的表单 一种是在网站 外部 使用 即用户未登录 另一种是在网站 内部 使用 这些表单在表示上略有不同 但它们包含所有相同的字段并调用相同的存储方
  • Composer/Laravel:如何添加/更新特定包

    如何使用 Composer 添加 更新特定包 我也在使用最新的 Laravel 不确定它是否重要 但任何可以帮助确定答案的东西 我还从我发现的旧 Stackoverflow 帖子中尝试了以下内容 但它对我不起作用 它将包附加到compose
  • 如何在 Laravel 中使用 SQL Server 连接?

    我有一个用 Laravel 3 制作的工作项目 我必须切换到 MsSQL Server 虽然不是我的电话 嗅探 但我不明白这种数据库类型的 Laravel 配置 我把里面默认的改了database php对此 default gt sqls
  • 为什么我的调试数据未格式化?

    var dump and print r使用 Laravel 4 时显示的数据未格式化 如何格式化数据以使其更具可读性 通过在命令行上运行以下命令将 Kint 添加到您的composer json composer require rave
  • Laravel cookie::forget 不起作用?

    我有这个代码 Cookie forget vendor return Redirect route vendor login 它应该做的是删除供应商 cookie 并将您重定向到登录页面 然而 它实际上并没有删除 cookie 根据我的理解
  • Laravel 4:发布包的资产

    如何发布包资源 我在这里找到了一个教程 http laravel recipes com recipes 279 http laravel recipes com recipes 279 但是当我尝试从工作台发布资产时 出现以下错误 Run
  • 如何更改 Paginator 的页面名称?

    Current Paginator正在使用 page N 但我想用别的东西 我怎样才能改变成这样 sida N反而 我看过Illuminate Pagination Environment并且有一个方法 setPageName 在那里改变它
  • 扩展 Eloquent 的类的构造函数

    我刚刚启动了一个新网站 我想使用 Eloquent 在为数据库播种的过程中 我注意到 如果我在扩展 eloquent 的模型上包含任何类型的构造函数 则会添加空行 例如 运行此播种器
  • 如何在 laravel 4 中使用 php-FFMpeg?

    我是 Laravel 4 的新手 我已经安装了php ffmpeg在我本地的 Laravel 设置中 但我需要有关如何在 Laravel 4 中使用此 ffmpeg 的帮助 假设你已经拥有ffmpeg安装在本地主机服务器上 然后在 Lara
  • Laravel 选项选择 - 默认问题

    这是我的选择框 所有公司都将加载到这里 但我想将特定公司显示为默认选择我在会议上有这个 这是我的代码 sessioncompany ABCcompany comp Company foreach company list as row en
  • 测试登录用户在 Laravel 4 中具有正确的 id

    我正在尝试弄清楚如何测试 Laravel 4 中的登录用户是否可以访问正确的用户帐户 目前这就是我的routes php 文件中的内容 Route get user id array before gt auth function logg
  • Laravel 4:无法打开流:权限被拒绝

    我在设置 Laravel 4 时遇到问题 打开索引页时遇到此错误 file put contents Users laravel app storage meta services json function file put conten
  • Laravel 快速入门指南路线不起作用

    好吧 我是 Laravel 新手 所以直接查看文档开始 文档中存在大量漏洞 因此需要花费大量精力和谷歌搜索来填补空白才能完成 Laravel 设置 我现在已经设置完毕并继续执行快速入门指南中的下一步 我创建了我的路线 Route get u
  • PHPstorm - 无法在blade.php 文件中设置断点

    我正在开发 Laravel 应用程序 可以很好地调试我的控制器 php 文件 但我还想调试blade php 文件 在我当前的设置中 我遵循了所有 jetbrains 为 Laravel 推荐的设置 https confluence jet
  • Laravel 转义 Blade 模板中的所有 HTML

    我正在 Laravel 中构建一个小型 CMS 并尝试显示内容 存储在数据库中 它显示 HTML 标签而不是执行它们 就像所有打印数据都有一个自动 html entity decode 一样

随机推荐

  • 在 Eclipse 文本编辑器中,如何将段落重新格式化/填充/对齐为 80 个字符宽?

    在 Eclipse 中编辑文本文件 例如 README 文件 时 我还没有找到一种方法让编辑器重新格式化文本段落 以便它们适合合理的宽度 通常为 80 个字符 这看起来应该是一件很平常想做的事情 但是我还没有找到 有人可以帮忙吗 请注意 我
  • Android - 两个设备之间的通信

    安装在两台设备上的 Android 应用程序相互通信的最佳方式是什么 设备可以直接连接而不使用短信吗 根据您的要求和设置 您有多种选择 如果您的设备彼此距离非常近 最多约 10 米 您可以按照 Derek 的建议使用蓝牙进行通信 如果您的设
  • jQuery - 等待函数返回值

    我有一个 jquery 函数 用于使用 ajax 请求发送电子邮件 function sendMail from to subject message var datastr from from to to subject subject
  • Java 中 PKCS#5 PBKDF1 的算法名称是什么?

    我在使用密码学方面有几个问题 我正在使用 AES 问题一 我正在尝试使用SecretKeyFactory班级在 我正在尝试获取与 PBKDF1 PKCS 5 相关的实例 我是密码学新手 我在网上尝试过 但找不到任何此类算法 确实支持 我想要
  • 脚本文件与命令行:rsync 和 --exclude

    我有一个简单的测试 bash 脚本 如下所示 bin bash cmd rsync rv exclude dir new cmd execute command 当我运行脚本时 它还会复制以 尽管我本想排除他们 当我直接从命令行运行相同的
  • 如何通过滑动动画以编程方式在 FlipView 中导航

    Windows 开发中心声明UseTouchAnimationsForAllNavigation财产 XAML FlipView 控件支持三种导航模式 基于触摸 基于按钮和程序化 当用户通过触摸导航时 FlipView 项目会平滑地滚动到视
  • sql注入场景中格式化函数与参数?

    我知道 sql 语句中参数的使用 但出于好奇 使用 Format 函数来防止 sql 注入而不是使用参数是安全的 像这个样本 sCustomer string begin AdoSql CommandText Format Select S
  • 故障排除“运行时编译器未加载”

    使用以下命令构建 Angular2 应用程序后 出现以下运行时错误 prod flag 运行时编译器未加载 据我了解 生产版本使用 AoT 并且在此场景中不支持运行时编译 我的问题是 我不知道我正在做的任何事情都需要运行时编译器 它甚至可能
  • 连接空间数据时如何解决球面几何故障

    我有一个形状文件 带有多个多边形 和一个带有坐标的数据框 我想将数据框中的每个坐标分配给形状文件中的多边形 因此 要在数据框中添加具有多边形名称或 ID 的列 这里是链接到数据 https docs google com spreadshe
  • 如何读取程序加载解决方案一部分的文件?

    我正在编写一个 C WinForms 应用程序 该应用程序的组件之一是 SQLite 数据库 如果用户第一次运行该程序 该程序应该在用户的主目录中创建必要的文件夹和文件 即数据库文件 效果很好 不过 还需要建立数据库 即需要添加表 我有一个
  • 不确定的 NSProgressIndicator 将不会动画

    所以我有一个简单的用户界面 一个 开始 按钮 一些文本 标签和一个进度栏 单击 开始 按钮时 NSProgressIndicatorshould动画 这是我的代码 synthesize progressBar progressBar Som
  • Turtle 模块 - 保存图像

    我想弄清楚如何在使用 python 的海龟模块创建绘图后保存位图或矢量图形图像 经过一番谷歌搜索后 我找不到简单的答案 我确实找到了一个名为画布2svg http wm ite pl proj canvas2svg index html 但
  • 为什么 Array.IndexOf 不像 List 那样检查 IEquatable ?

    考虑this https dotnetfiddle net RVgvG0 code public static void Main var item new Item Id 1 IList list new List
  • BeautifulSoup 找不到正确解析的元素

    我在用BeautifulSoup解析一堆可能非常脏的HTML文件 我偶然发现了一件非常奇怪的事情 HTML 来自这个页面 http www wvdnr gov http www wvdnr gov 它包含多个错误 例如多个
  • Angular 通用 + 外部 API

    我知道 Angular Universal 仍在开发中 因此 我考虑过将 Angular Universal 用于一个 Web 应用程序 该应用程序定期从外部 API 服务器提取数据 大约每 10 秒通过 Http 服务提取一次 然后 该数
  • 为什么 UIWebView 中的 Google 搜索结果没有触发 webViewDidFinishLoad?

    毫无疑问 这是一个关于网页的更普遍的问题 但通过 Google 内容很容易证明这一点 在 Google 主页上输入某些搜索条件时 结果不会触发webViewDidFinishLoad方法 当彩色 Google 徽标被链接到功能页面的某些艺术
  • 如何处理“一旦你的元素不再连接就可以调用connectedCallback”编码Web组件

    我的问题中粘贴的那句话是从https developer mozilla org en US docs Web Web Components Using custom elements Using the lifecycle callbac
  • 张量流 - 了解卷积的张量形状

    目前正在努力通过我的方式卷积网络的 Tensorflow MNIST 教程 https www tensorflow org get started mnist pros first convolutional layer我需要一些帮助来理
  • 如何在使用它的项目的多项目构建中开发 sbt 插件?

    是否可以在多项目设置中构建 sbt 插件 并在同一多项目的其他子项目中使用该插件 例如 root mySbtPlugin myProject project plugins sbt Uses mySbtPlugin It is not可能的
  • CSRF 令牌不匹配 Laravel 4

    这真让我抓狂 无论是来自 Laravel 表单还是来自 AJAX 我在每个 POST 上都会遇到令牌不匹配的情况 我在过滤器中添加了一些代码来显示会话与 token Route filter csrf function if SERVER