收集抛出的Routing错误消息

时间:2015-05-11 21:46:11

标签: ruby-on-rails ruby ruby-on-rails-4 error-handling

我刚刚将一个rails 4应用程序投入生产,我注意到了一些脚本攻击,主要是以.php结尾的网址。它们看起来像这样:

I, [2015-05-11T22:03:01.715687 #18632]  INFO -- : Started GET "/MyAdmin/scripts/setup.php" for 211.172.232.163 at 2015-05-11 22:03:01 +0100
F, [2015-05-11T22:03:01.719339 #18632] FATAL -- :
ActionController::RoutingError (No route matches [GET] "/MyAdmin/scripts/setup.php"):
  actionpack (4.1.0) lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'

我想从这些RoutingError消息中收集你的网址,主要是因为我可以为它们设置路由,可能只是简单地渲染。

我还想重定向到一个可能让脚本运行者忙碌的网站。

无论如何,这是问题所在。有什么方法可以拦截ActionController :: RoutingError来运行一些代码吗?

奖金问题:有没有人知道是否有很多php应用程序可以与上面的网址一起分解?

1 个答案:

答案 0 :(得分:2)

虽然这可能不是一个好主意,但您可以设置“全部捕获”路线,如

match '*path' => 'your_controller#your_action'

在所有其他路线之后并在您的控制器中执行任何操作,例如记录到文件,根据request.path等路线骚扰它们

对于你的奖金:很多人在webapps上保留默认密码,这些刮刀正在寻找