Ruby on rails 它是否有用和可能,以及如何在rails中更改CSRF令牌的逻辑?

Ruby on rails 它是否有用和可能,以及如何在rails中更改CSRF令牌的逻辑?,ruby-on-rails,csrf,Ruby On Rails,Csrf,请阅读“编程和逻辑”之类的问题 我需要比用户会话“更高一点的安全性”(比平时) 我有一个(我认为)很好的解决方案来处理“合理”数量的“宽限代币” (如保存的链接、通信问题、重新登录等) 我想知道的是,rails中的CSRF是如何构建的,我能影响它吗?如果,如何?(我唯一发现的是“如何在ajax中使用,而不是重用,如何实现静态…” 我有一个很好的方法,但我当然不想使用我的解决方案。在每个新会话上,为每个会话生成唯一的CSRF令牌 他们来自: protect_from_forgery protect

请阅读“编程和逻辑”之类的问题

我需要比用户会话“更高一点的安全性”(比平时)

我有一个(我认为)很好的解决方案来处理“合理”数量的“宽限代币” (如保存的链接、通信问题、重新登录等)

我想知道的是,rails中的CSRF是如何构建的,我能影响它吗?如果,如何?(我唯一发现的是“如何在ajax中使用,而不是重用,如何实现静态…”


我有一个很好的方法,但我当然不想使用我的解决方案。

在每个新会话上,为每个会话生成唯一的CSRF令牌

他们来自:

protect_from_forgery
protect_from_forgery secret: "123456789012345678901234567890..."
您想实现静态CSRF令牌吗?不,只需实现您自己的db-back安全令牌,而不需要使用Rails内部的f。但是写你自己的,理解你的问题,写安全的代码

您可以完全忽略Rails安全指南中的建议

"a security token in non-GET requests will protect your application from CSRF"

听起来有点讽刺,但我喜欢这样,我认为这是一个答案。