【发布时间】:2014-04-28 21:54:46
【问题描述】:
我今天升级到 Rails 4.1.0。跨站点请求伪造 (CSRF) 保护现在也涵盖带有 JavaScript 响应的 GET 请求。
我的应用中有一些远程 GET 链接被机器人攻击,现在抛出 ActionController::InvalidCrossOriginRequest 异常。
所以我在 application_controller 中添加了另一个 rescue_from 行:
rescue_from ActionController::InvalidCrossOriginRequest, with: :render_400
这是 render_400 方法:
def render_400
render(nothing: true, status: 400) and return
end
我仍然收到 AbstractController::DoubleRenderError,即使我添加了 and return,如您在上面看到的。
它只发生在 ActionController::InvalidCrossOriginRequest 异常中。其他人喜欢例如ActionController::BadRequest 并且不会导致 AbstractController::DoubleRenderError。
【问题讨论】:
标签: ruby-on-rails