我已经阅读了几个小时关于Rails安全性的文章,我对CSRF机制感到有点困惑。我所看到的任何地方都表明,为了打开它,您需要使用protect_against_forgery函数。
我在一个大型应用程序(Rails3.2-4)中工作,似乎找不到它在代码库中的任何用处。尽管如此,CSRF机制似乎仍在运行:
protect_against_forgery? # trueRails在这个问题上的官方答案是什么?我们需要显式设置还是自动设置?
发布于 2016-09-13 18:41:12
在application.html.erb中,我们有用于防止伪造请求的csrf_meta_tags,如果您删除了该标记,则会收到Invalid token authenticity错误。
默认情况下处于启用状态。
发布于 2016-09-13 18:45:13
是的,默认情况下防伪是开启的。应该在您的ApplicationController中的某个位置启用。可能是以before_filter :verify_authenticity_token或类似的形式。
https://stackoverflow.com/questions/39467845
复制相似问题