如何禁用或配置每个控制器的HoptoadNotifier?背景是我将通知程序配置为报告“方法不允许”异常,例如,当使用 GET 而不是 POST 访问操作时会引发此异常。
但是我有一个自动完成控制器,机器人会通过向我的控制器发送 GET 请求而不是 POST(带有各种奇怪的参数)来扫描它(可能会发现漏洞)。所以我想只为这个异常、这个动作或这个控制器禁用通知器。
已解决:感谢@Tanel,我做了以下似乎可行的事情:
def rescue_action_in_public exception
if exception.is_a? ActionController::MethodNotAllowed
rescue_action_in_public_without_hoptoad exception
else
super exception
end
end