Tag: ip address

在Rails中获取实际的远程IP?

我正在开发rails(2.3.8)应用程序。 我需要存储实际客户端的远程IP地址。 request.remote_ip仅返回127.0.0.1 但我需要存储实际的远程IP,如93.43.56.77 。 有ruby可供选择吗? 或者怎么做到的?

Rails 3validationIPv4和IPv6格式

我知道IPv4和IPv6的validation格式。 但不确定如何将它们组合在一起,因此至少有一种格式应该是真的。 这是我的validation validates :src_ip_addr, :presence => true, :uniqueness => true, :format => { :with => Resolv::IPv4::Regex, :message => “Not an valid IPv4 format”} validates :src_ip_addr, :presence => true, :uniqueness => true, :format => { :with => Resolv::IPv6::Regex, :message => “Not an valid IPv6 format”} 如何将它们组合起来如果一种格式正确则validation应该有效。 仅当ipv4和ipv6格式不正确时才会失败。 谢谢。

Rails 3:validationIP字符串

在Rails 3中,是否有内置的方法来查看字符串是否是有效的IP地址? 如果没有,validation的最简单方法是什么?

如何在ruby中获取IP地址,引用和用户代理?

我想记录用户的IP地址,引用和用户代理。 在PHP中,我可以从以下变量中获取它们: $_SERVER[‘REMOTE_ADDR’] $_SERVER[‘HTTP_REFERER’] $_SERVER[‘HTTP_USER_AGENT’] 如何让他们在ruby?

浏览器IP地址

我有2个应用程序 1 Ruby(不是由我编写的。我对Ruby一无所知)和其他ASP.Net Ruby应用程序确定用户的IP地址(我告诉“使用在HTTP_X_FORWARDED中找到的第一个IP”)并将其散列版本传递给ASP.Net应用程序。 然后ASP.Net应用程序再次确定客户端的IP地址(使用Request.UserHostAddress)并散列值。 然后比较哈希。 通常这些哈希对我们所有的客户都是相同的(如您所料)。 但是,我们有1个新客户,但事实并非如此…… 他工作场所的每台计算机显然都会产生不相等的哈希值 怎么会这样?

Ruby – 与平台无关的方法来确定所有网络接口的IP?

在Ruby中有一个简单的方法可以获取所有网络接口的IP地址列表吗? 它需要在Linux / Win / OSX中工作,我宁愿不必解析ifconfig / ipconfig,除非我绝对必须这样做。

Ruby / Rails中的IP范围到CIDR?

我想做两件事:将IP地址输入转换为CIDR以下是一些示例输入: 1.1.1.1 192.168.*.* #=> 192.168.0-255.0-255 192.168.1.2-20 1.1.1-10.1-100 检查给定的IP地址是否属于任何CIDR。 这必须是一个非常快速的查询,因为它是我的Web应用程序中非常常见的查找。 我想做这样的事情: def matches?(request) valid = @ips.select {|cidr| cidr.contains?(request.remote_ip) } !valid.empty? end 我认为将IP范围转换为CIDR将使查找比我们现在所做的更快,这将IP分解为整数八位字节。 然后,我们将前两组八位字节编入索引以部分匹配IP。 另一个选择可能是将所有内容转换为int并以这种方式进行比较。 我将使用类似IPAddr.new(“1.1.1.1”).to_i转换为int IPAddr.new(“1.1.1.1”).to_i然后我需要为每个范围存储一个上限和下限IP,而不是仅存储一个CIDR。 如果我忽视任何主流方法,流行gem或回购,请告诉我。 谢谢!

如何在Ruby中获取本地机器的IP地址?

我在Ubuntu 12.04LTS操作系统中进行Rails开发。 我想在一个文件中捕获我的本地IP地址,而不是使用ifconfig获取的回送127.0.0.1。 请提出解决方案。