Я получаю ботов, которые намеренно пытаются найти уязвимости в моем IP-адресе, и мне нужно вручную заблокировать IP-адреса.
Например, это начало ошибки, отправленной на мою электронную почту.по django
Invalid HTTP_HOST header: '68.183.112.215'. You may need to add '68.183.112.215' to ALLOWED_HOSTS.
Report at /.well-known/security.txt
Invalid HTTP_HOST header: '68.183.112.215'. You may need to add '68.183.112.215' to ALLOWED_HOSTS.
Request Method: GET
Request URL: https://68.183.112.215/.well-known/security.txt
Мне нужно знать, что тип ошибки недействителен HTTP_HOST, а затем с указанным IP-адресом
HTTP_X_REAL_IP = '198.20.70.114'
проанализировать это поле, чтобы получить IP
Я думаю, что это должно работать
def handler500(request):
x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR')
if x_forwarded_for:
ip = x_forwarded_for.split(',')[0]
else:
ip = request.META.get('REMOTE_ADDR')
#check if Invalid HTTP_HOST header
#if so run script to add ip to blocked ip's
#if possible let the normal 500 error to be raised
....
#otherwise raise custom error
Если я могу выяснить тип ошибки, то я могу попробовать это.Надоело делать это вручную.