我会跟踪我的错误日志文件并继续从应用login
页面看到TokenMismatchException异常。
起初我以为有人试图通过使用机器人提交到登录表单来破解我的网站。
然后我从很多IP中看到了太多这些IP。
几周后,我想我已经明白了。我将登录实现为模式形式。有些用户长时间打开标签,最后决定登录。当他们这样做时,crsf令牌已过期。
我的问题是,检查crsf是否安全?
答案 0 :(得分:1)
否强>
跨站点请求伪造(CSRF)是一种在发生时发生的攻击 恶意网站,电子邮件,博客,即时消息或程序原因 用户的Web浏览器,用于在受信任的站点上执行不需要的操作 用户当前已通过身份验证。
我们不知道我们的网站是否成为攻击者的目标,我们假设您有关于电子货币的网站,当然您的用户可以将资金转移给其他用户。
这是开发
约翰是受害者,罗恩是攻击者。
让我们简单一点罗恩向约翰发送一些关于您的电子货币网站的电子邮件,罗恩告诉约翰点击一些链接(恶意网站)已经设计为从约翰帐户向罗恩汇款。
在这种情况下,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.
答案 1 :(得分:1)
否,将其关闭是不安全的..您将容易受到跨站点请求伪造的攻击。</ p>
但我认为你问题的原因并不是用户在登录之前花费了太多时间,因为为csrf设置的包含csrf的时间设置为 2小时。
如果你想修改这个时间,你可以去:
<强>供应商\ laravel \框架\ SRC \ Illminate \基金会\ HTTP \中间件\ VerifyCsrfToken.php 强>
你会发现一个名为addCookieToResponse()的函数,时间设置为:
时间()+ 60 * 120
这是2小时。