def process_request(self, request): ips = [] if 'HTTP_X_FORWARDED_FOR' in request.META: xff = [i.strip() for i in request.META['HTTP_X_FORWARDED_FOR'].split(',')] ips = [ip for ip in xff if is_valid(ip)] else: return ips.append(request.META['REMOTE_ADDR']) known = getattr(settings, 'KNOWN_PROXIES', []) ips.reverse() for ip in ips: request.META['REMOTE_ADDR'] = ip if not ip in known: break
def process_request(self, request): ips = [] if 'HTTP_X_FORWARDED_FOR' in request.META: xff = [ i.strip() for i in request.META['HTTP_X_FORWARDED_FOR'].split(',') ] ips = [ip for ip in xff if is_valid(ip)] else: return ips.append(request.META['REMOTE_ADDR']) known = getattr(settings, 'KNOWN_PROXIES', []) ips.reverse() for ip in ips: request.META['REMOTE_ADDR'] = ip if not ip in known: break
def _check(i, v): eq_(v, is_valid(i))