【问题标题】:Is it safe to turn off csrf in laravel?在 laravel 中关闭 csrf 是否安全?
【发布时间】:2015-12-25 10:47:41
【问题描述】:

我跟踪我的错误日志文件,并不断从应用程序login 页面看到 TokenMismatchException 异常。

起初我以为有人试图通过使用机器人提交登录表单来入侵我的网站。

然后我从许多 IP 中看到了太多。

几周后,我想我明白了。我将登录实现为模态表单。一些用户的标签打开了很长时间,最后决定登录。当他们这样做时,crsf 令牌已过期。

我的问题是转crsf检查是否安全?

【问题讨论】:

  • 这些异常意味着 csrf 正在工作。为什么要关闭它?
  • 不,这不安全(r)。如果您禁用安全功能显然您的应用程序将不太安全

标签: php laravel


【解决方案1】:

跨站请求伪造 (CSRF) 是一种攻击类型,当 恶意网站、电子邮件、博客、即时消息或程序导致 用户的 Web 浏览器在受信任的站点上执行不需要的操作 用户当前已对其进行身份验证。

我们不知道我们的网站是否会成为攻击者的目标,假设您有一个关于电子货币的网站,当然您的用户可以将资金转移给其他用户。

这就是漏洞

约翰是受害者,罗恩是攻击者。

让我们简单点 Ron 向 John 发送一些关于您的电子货币网站的电子邮件,然后 Ron 告诉 John 点击某个链接(恶意网站),该链接已经设计为将资金从 John 账户发送给 Ron。

在这种情况下,John 当前已通过身份验证,John 点击链接,然后 Bamm.. John 赔钱了。

因此,开启 CSRF 保护是不安全的,除非您可以确保您的网站永远不会成为攻击者的目标。

关于错误日志,请保持原样,因为日志有时对您有很大帮助。

谢谢。

ps: the media not only email, but malicious website, chat, etc. the concept is how target can open malicious website which design to send form, or etc to targeted website.

【讨论】:

    【解决方案2】:

    ,关闭它是不安全的。您将容易受到跨站请求伪造的攻击。

    但我认为您的问题的原因不是用户在登录之前花费了太多时间,因为为包含 csrf 的 cookie 设置的时间设置为 2 小时

    如果这次想修改,可以去:

    供应商\laravel\framework\src\Illminate\Foundation\Http\Middleware\VerifyCsrfToken.php

    你会发现一个叫做addCookieToResponse()的函数,时间设置为:

    时间()+60*120

    2 小时。

    【讨论】:

      猜你喜欢
      • 2016-04-08
      • 2021-08-09
      • 1970-01-01
      • 2017-10-29
      • 1970-01-01
      • 2016-11-03
      • 2019-12-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多