我在应用程序上遇到了一些奇怪的错误,所有这些错误都与随机爬虫请求不存在的 URL 和 Rails 无法识别有关。
即爬虫请求 [website]/local/favicon.ico 并且下面的代码无法识别它应该呈现 404,因为对象为 nil,导致应用程序在第一个方法调用时中断:
@local = Local.find_by_slug(params[:c])
render_404(RuntimeError.new(request.path)) and return unless @local
我知道我可以阻止爬虫 IP,但这看起来不是最好的解决方案。
有人对如何使用 Rails 解决这个问题有任何想法吗?