Skip to content

Latest commit

 

History

History
34 lines (26 loc) · 1.13 KB

README.md

File metadata and controls

34 lines (26 loc) · 1.13 KB

IPLookup

Позволяет извлечь IP адрес клиента из HTTP запроса согласно заданным правилам.

По умолчанию IP адрес извлекается в следующем порядке пока не будет найден:

  • RemoteAddr - смотрите документацию,
  • HTTP заголовок X-Real-IP,
  • HTTP заголовок X-Forwarded-For.

В заголовке X-Forwarded-For могут быть перечислены несколько IP адресов, поэтому индекс нужного адреса можно настроить через параметр ForwardedForIndex.

Пример использования

lookup := NewIPLookup()
ip := lookup.GetRemoteIP(req)
if ip != "" {
    ...
}

Использование пользовательской конфигурации:

places := []string{"X-Real-IP", "RemoteAddr", "X-IP-Header"}
forwardedForIndex := 2
lookup := NewCustomIPLookup(places, forwardedForIndex)
ip := lookup.GetRemoteIP(req)
if ip != "" {
    ...
}