我一直对返回公有IP地址的方法持怀疑态度。除非你使用诸如whatismyip.com之类的外部服务,否则它们似乎通常是有缺陷的。Rails的ActionPack remote_ip对于请求有多可靠?
如何可靠是Rails的remote_ip在确定的时间内外部公网ip 100%的方法?https://github.com/rails/rails/blob/master/actionpack/lib/action_dispatch/middleware/remote_ip.rb
我刚刚发现我打的问题是CloudFlare,它有一个不同的标题可用CF-Connecting-IP
。看来,我必须通过沿着(headers["CF-Connecting-IP"] || remote_ip)
的方向来解决这个问题,以克服这种特殊情况。
这样看来,无论我需要猴补丁remote_ip
或考虑到这一点,而不处处晾晒了我的代码。
你打算怎么办?它应该可靠吗? – iltempo 2012-03-06 13:43:20
只需使用webapp检测客户端的远程ip即可。目标是基于ip可靠地确定时区。 – ylluminate 2012-03-06 14:08:21
你是不是在检测你自己的IP而不是远程那个服务? – iltempo 2012-03-06 14:11:28