|
|
|
@ -6,14 +6,19 @@ import (
@@ -6,14 +6,19 @@ import (
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
const ( |
|
|
|
|
X_Real_IP = "X-Real-Ip" |
|
|
|
|
X_FORWARDED_FOR = "X-Forwarded-For" |
|
|
|
|
_X_Real_IP = "X-Real-Ip" |
|
|
|
|
_X_FORWARDED_FOR = "X-Forwarded-For" |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
var ( |
|
|
|
|
ipHeaders = []string{_X_FORWARDED_FOR, _X_Real_IP} |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
func getIPFromHeader(header *http.Header, headerName string) string { |
|
|
|
|
IPs := header.Values(headerName) |
|
|
|
|
|
|
|
|
|
if len(IPs) > 0 { |
|
|
|
|
remoteIP := IPs[0] |
|
|
|
|
remoteIP := IPs[len(IPs)-1] |
|
|
|
|
arr := strings.Split(remoteIP, ",") |
|
|
|
|
if len(arr) > 0 { |
|
|
|
|
return strings.TrimSpace(arr[0]) |
|
|
|
|