Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails4 InvalidAuthenticationToken生产上的随机错误_Ruby On Rails_Ruby On Rails 4 - Fatal编程技术网

Ruby on rails Rails4 InvalidAuthenticationToken生产上的随机错误

Ruby on rails Rails4 InvalidAuthenticationToken生产上的随机错误,ruby-on-rails,ruby-on-rails-4,Ruby On Rails,Ruby On Rails 4,我从Rails 3升级到Rails 4,现在我在生产中随机发现了InvalidAuthenticationToken错误,只针对不同的操作。我试过,但我无法复制它。params散列包含真实性令牌 Parameters : {"utf8"=>"✓", "authenticity_token"=>"26+QxdF3aHveYkibn9DJ8Hgz6mUna2v8MOp1bnM78cg=", "session"=>{"email"=>"abc@xyz.com", "passwo

我从Rails 3升级到Rails 4,现在我在生产中随机发现了InvalidAuthenticationToken错误,只针对不同的操作。我试过,但我无法复制它。params散列包含真实性令牌

Parameters : {"utf8"=>"✓", "authenticity_token"=>"26+QxdF3aHveYkibn9DJ8Hgz6mUna2v8MOp1bnM78cg=", "session"=>{"email"=>"abc@xyz.com", "password"=>"[FILTERED]"}, "commit"=>"Sign In", "action"=>"create", "controller"=>"sessions"}

Parameters : {"_method"=>"delete", "authenticity_token"=>"uafnPb4DjEJuW9YCTP9UB5tXyGlKbZh6uXlc6MVIoG8=", "controller"=>"sessions", "action"=>"destroy"}

Parameters : {"utf8"=>"✓", "authenticity_token"=>"Nhp4VNI9XJS7yqGRgGewOJ3ilkZSwMhmceXoOsoL/fw=", "volunteer_record"=>{"activity"=>"OTHER", "note"=>"Tuned the Melody Harp -- a tricky little beast....", "hh"=>"", "mm"=>"30"}, "commit"=>"Save", "action"=>"create", "controller"=>"volunteer_records"} 
任何关于如何解决这个问题的线索都将不胜感激。
防止伪造
设置为
with::exception

使用

protect_from_forgery: :reset_session 

为我工作。这是Rails 3中的默认设置

嗯,第一件事是得到一份复印机。如果没有它,它是在黑暗中刺痛。我曾尝试从不同的浏览器和不同的平台访问该网站。你能建议我尝试和复制的其他方法吗?我可以在日志中看到,它在其他尝试中对用户起到了作用。我与其中一位用户交谈,他说他在8小时后访问了该网站。所以,也许我只有在课程结束后才能拿到这个。但是我没有在Rails 3中更早地了解到这一点,现在它已经非常频繁地发生了。你知道我能在这里做什么吗?经常做吗?您的用户是否将浏览器保持打开状态数天?也许还有另一个原因。我说的“经常”,是指每天大约10次。我读过一些文章,Rails 3将重置_会话作为防止_伪造(CSRF攻击)的默认操作。Rails 4默认使用with::exception。如果我将其切换到reset_session,是否会有我应该知道的任何副作用?更改此设置的原因是,即使会话被重置,代码仍可能运行。引发异常可确保代码处理将暂停。只要没有问题,这是可以的。