我正在 Laravel 中创建一个 Web 应用程序,但是 CSRF
正在终止其 ajax 功能。
使用ajax提交 token 工作正常,使用ajaxSetup
我可以将 token 附加到每个请求,所以这部分没有问题。
但是每次用户离开浏览器窗口太长时间(可能几个小时或更长时间)时,ajax 请求就会开始返回错误 500
( token 不匹配) - 也许服务器会更新 token 和客户端保留旧页面,迫使用户刷新页面以保持其功能,这是我不想做的事情。
所以我正在考虑创建某种ajax计时器来每隔一段时间从服务器获取更新的csrf
token ..但这似乎是一个有点黑客的解决方案,甚至可能无用? (如果我提供 token ,有人可以请求它并仍然进行 csrf 攻击,对吧?)
要一劳永逸地解决这个问题,我必须做一些风险更大的事情,完全禁用 ajax 调用的 CSRF
。我的问题是:这真的会严重损害我的安全吗?我见过很多人建议将其关闭,但如果有人可以在用户帐户上交叉请求敏感操作(例如删除帐户或类似的操作),这似乎是一件大事
你们会推荐什么?这个问题让我彻夜难眠:/
最佳答案
关于javascript - 在我的网络应用程序中禁用 CSRF 或更安全的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33050489/