像这样:
ActionView::MissingTemplate (Missing template pages/error with {:locale=>[:"zh-CN"], :formats=>["NULL"], :handlers=>[:erb, :builder, :haml]}.
为什么会是 NULL,是爬虫吗?大家有没有遇过,有什么处理方法?
我们遇到过,应该就是爬虫, 我的处理方法是在 application_controller 中加了一个 filter 凡是 format 为 NULL 的请求都 rander :text => 'NULL' 不过我自己也觉得这不是什么好办法,同求解。
@zzhattzzh 这是一个异常不应该暴露给请求者,我的解决办法,放到 application.rb 里
if Rails.env.production?
rescue_from ActionView::MissingTemplate do |exception|
head :not_acceptable
end
end
都是一些弱智或者恶意爬虫,我的做法是 rescue_from ActionView::MissingTemplate,然后强制 redirect 一个 zip bomb http://en.wikipedia.org/wiki/Zip_bomb
实践效果十分有效,对方通常是用一些第 3 方 http 库,会自动 unzip,然后就内存爆掉了 ...