[ruby-on-rails] 레일즈 : 클라이언트 IP 주소 얻기

Rails에서 서버에 연결하는 클라이언트의 IP 주소를 얻는 가장 좋은 방법은 무엇입니까?

내가 찾은 두 가지 방법은 다음과 같습니다.

request.remote_ip
request.env['HTTP_X_REAL_IP']



답변

나는 request.remote_ip그것을 간단하게 사용하고 작동합니다. 다른 방법이 필요한 이유가 있습니까?

클라이언트 서버 IP로 할 수있는 다른 일들에 대해서는 로컬 Rails 개발 환경에서 실제 IP 주소 얻기를 참조하십시오 .


답변

request.remote_ip사용 가능한 모든 IP 주소 정보를 해석 한 것으로 가장 추측하기 쉽습니다. 변수에 직접 액세스하면 올바른 우선 순위로 변수를 테스트해야합니다. 프록시는 이름이 다른 환경 변수를 만드는 많은 헤더를 도입합니다.


답변

다음 명령을 사용하여 클라이언트 IP를 가져옵니다.

request.remote_ip


답변

나는 반환 request.env['HTTP_X_FORWARDED_FOR']할 때도 매우 유용하다는 것을 알았 습니다.request.remote_ip127.0.0.1


답변

최신 레일과 Devise gem : Devise의 “추적 가능”옵션에 관심이 있고 사용하는 사용자는 users 테이블에 current / last_sign_in_ip에 대한 열이 포함됩니다.


답변