Merge pull request #2401 from jpadilla/master

Fix ident format when using HTTP_X_FORWARDED_FOR
This commit is contained in:
Tom Christie 2015-01-12 12:20:47 +00:00
commit 69fea56245

View File

@ -32,10 +32,10 @@ class BaseThrottle(object):
if num_proxies == 0 or xff is None:
return remote_addr
addrs = xff.split(',')
client_addr = addrs[-min(num_proxies, len(xff))]
client_addr = addrs[-min(num_proxies, len(addrs))]
return client_addr.strip()
return xff if xff else remote_addr
return ''.join(xff.split()) if xff else remote_addr
def wait(self):
"""
@ -173,12 +173,6 @@ class AnonRateThrottle(SimpleRateThrottle):
if request.user.is_authenticated():
return None # Only throttle unauthenticated requests.
ident = request.META.get('HTTP_X_FORWARDED_FOR')
if ident is None:
ident = request.META.get('REMOTE_ADDR')
else:
ident = ''.join(ident.split())
return self.cache_format % {
'scope': self.scope,
'ident': self.get_ident(request)