prevent Dos attacks

This commit is contained in:
jeagercoder 2022-07-26 14:36:08 +07:00
parent a1b35bb44b
commit dda46ee3fd

View File

@ -22,22 +22,10 @@ class BaseThrottle:
def get_ident(self, request):
"""
Identify the machine making the request by parsing HTTP_X_FORWARDED_FOR
if present and number of proxies is > 0. If not use all of
HTTP_X_FORWARDED_FOR if it is available, if not use REMOTE_ADDR.
Identify the machine making the request with the REMOTE_ADDR variable in the wsgi environment.
"""
xff = request.META.get('HTTP_X_FORWARDED_FOR')
remote_addr = request.META.get('REMOTE_ADDR')
num_proxies = api_settings.NUM_PROXIES
if num_proxies is not None:
if num_proxies == 0 or xff is None:
return remote_addr
addrs = xff.split(',')
client_addr = addrs[-min(num_proxies, len(addrs))]
return client_addr.strip()
return ''.join(xff.split()) if xff else remote_addr
return remote_addr
def wait(self):
"""