Show More
@@ -64,15 +64,17 b' def render(template_path):' | |||
|
64 | 64 | |
|
65 | 65 | def _filter_proxy(ip): |
|
66 | 66 | """ |
|
67 | HEADERS can have multiple ips inside the left-most being the original | |
|
68 | client, and each successive proxy that passed the request adding the IP | |
|
69 | address where it received the request from. | |
|
67 | HTTP_X_FORWARDED_FOR headers can have multiple IP addresses, with the | |
|
68 | leftmost being the original client. Each proxy that is forwarding the | |
|
69 | request will usually add the IP address it sees the request coming from. | |
|
70 | 70 | |
|
71 | :param ip: | |
|
71 | The client might have provided a fake leftmost value before hitting the | |
|
72 | first proxy, so if we have a proxy that is adding one IP address, we can | |
|
73 | only trust the rightmost address. | |
|
72 | 74 | """ |
|
73 | 75 | if ',' in ip: |
|
74 | 76 | _ips = ip.split(',') |
|
75 |
_first_ip = _ips[ |
|
|
77 | _first_ip = _ips[-1].strip() | |
|
76 | 78 | log.debug('Got multiple IPs %s, using %s', ','.join(_ips), _first_ip) |
|
77 | 79 | return _first_ip |
|
78 | 80 | return ip |
General Comments 0
You need to be logged in to leave comments.
Login now