簡體   English   中英

如何使用Rails獲取客戶端IP和服務器IP

[英]How to get client IP and Server IP using Rails

任何人都可以幫助如何使用Ruby on Rails獲取客戶端IP和服務器IP?

從您的控制器:

request.remote_ip

如果你在mongrel前面使用apache,那么remote_ip將返回請求的源地址,在這種情況下,它將是本地主機,因為Apache Web服務器正在發出請求,所以請將它放在你的控制器中:

@remote_ip = request.env["HTTP_X_FORWARDED_FOR"]

要獲取服務器IP,請參閱:

在Ruby on Rails中獲取主機名或IP

謝謝:karim79和Titanous。

在Controller中編寫代碼

對於客戶IP:

request.remote_ip

@remote_ip = request.env["HTTP_X_FORWARDED_FOR"]

對於服務器IP:

require 'socket'

def local_ip
  orig, Socket.do_not_reverse_lookup = Socket.do_not_reverse_lookup, true  # turn off reverse DNS resolution temporarily

  UDPSocket.open do |s|
    s.connect '64.233.187.99', 1
    s.addr.last
  end
ensure
  Socket.do_not_reverse_lookup = orig
end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM