`protect_from_forgery是否有:: exception`崩溃进程?

时间:2016-08-24 16:56:45

标签: ruby-on-rails csrf protect-from-forgery

我面临的情况是,有一些不良演员在敏感(已注销)的终端以高比例发布JSON。

除了通过IP进行速率限制之外,我还想将protect_from_forgery with: :exception作为before_filter添加到Rails应用程序中。

该过滤器是否返回500响应或实际引发崩溃Rails进程的未捕获异常?在本地,它似乎是后者。

我担心的是,未经身份验证的僵尸程序会通过反复崩溃进程来有效地DDOS服务。

1 个答案:

答案 0 :(得分:1)

不,应用程序中的所有未捕获的异常应由Rails(或Rack)拯救并记录,并将500错误返回给客户端。只有段错误或其他严重故障才会导致进程死亡。即使在这种情况下,一个好的网络服务器(比如Puma)也会重启这个过程。但即使Puma设法死了,你的生产环境也应该有一个进程监视器(god,monit等),如果它失败或超出内存限制,它将重启web服务器。

我很好奇你在本地的意思,它似乎[崩溃了Rails进程]"。你的rails server命令实际上正在退出CRSF例外吗?