像这样:
ActionView::MissingTemplate (Missing template pages/error with {:locale=>[:"zh-CN"], :formats=>["NULL"], :handlers=>[:erb, :builder, :haml]}.
为什么会是 NULL,是爬虫吗?大家有没有遇过,有什么处理方法?
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
https://github.com/jasl/a_rails_start_up_omakase/blob/master/app/controllers/application_controller.rb
#2 楼 @jasl 谢了。
都是一些弱智或者恶意爬虫,我的做法是 rescue_from ActionView::MissingTemplate,然后强制 redirect 一个 zip bomb http://en.wikipedia.org/wiki/Zip_bomb
实践效果十分有效,对方通常是用一些第 3 方 http 库,会自动 unzip,然后就内存爆掉了 ...
@quakewang 高!!!
#4 楼 @quakewang 这个方案我太喜欢了!
#4 楼 @quakewang 太坏了,哈哈
#4 楼 @quakewang 牛逼呀!!!
@quakewang 这个做法太猛了,给力啊
#4 楼 @quakewang 牛..收藏先...
@quakewang 太牛了。。。