记录黑客技术中优秀的内容, 传播黑客文化,分享黑客技术精华

Ruby On Rails处理404错误

2013-01-07 16:43

背景:


网站改过一次版,url规则和以前完全不同,所以在日志中会看到很多404请求,默认情况下ROR会把页面重定向到public/404.html页面,但是我们需要收集下这些404页面的来源,所以要手动处理404错误。


实现:


思路比较简单,在route.rb的最后添加一个全局匹配,这样如果在前面没有匹配到正确的路由,就说明是一个404的页面,这时候就可以重定向到我们自定义的处理函数里了


match '*a' => 'errors#handle'

然后新增一个test_controller.rb文件,内容如下


class ErrorsController < ApplicationController
def handle
directory = "log/"
filename = '404.log'
path = File.join(directory, filename)
f = open(path,"a")
str = Time.now.strftime('%Y%m%d%H%M%S').to_s + " " + request.url.to_s + " " + request.remote_ip.to_s + " " + request.env['HTTP_REFERER'].to_s
f.puts str
f.close
render :text => "OK"
end
end

这样每次有404产生,就会在log/404.log文件中记录下时间、访问的URL、访问者的IP还有来源页面

知识来源: leo108.com/pid-1860.asp

阅读:69649 | 评论:0 | 标签:Ruby On Rails 个人日志 404 ROR

想收藏或者和大家分享这篇好文章→复制链接地址

“Ruby On Rails处理404错误”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

公告

关注公众号hackdig,学习最新黑客技术

推广

工具

标签云