{% extends "introduction/base.html" %} {% load static %} {% block content %} {% block title %} Insufficient Logging & Monitoring {% endblock %}

Logs are strickty monitored

{% csrf_token %}

{% if name %}

Success! Logged in as
{{name}}

{% else %}

{{error}}

{% endif %}

logging.basicConfig(level=logging.DEBUG,filename='app.log')

@authentication_decorator
def a10_lab2(request):
 now = datetime.datetime.now()
 if request.method == "GET":
  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')
  logging.info(f"{now}:{ip}")
  return render (request,"Lab/A10/a10_lab2.html")
 else:
  user=request.POST.get("name")
  password=request.POST.get("pass")
  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')

  if login.objects.filter(user=user,password=password):
   if ip != '127.0.0.1':
    logging.warning(f"{now}:{ip}:{user}")
   logging.info(f"{now}:{ip}:{user}")
   return render(request,"Lab/A10/a10_lab2.html",{"name":user})
  else:
   logging.error(f"{now}:{ip}:{user}")
   return render(request, "Lab/A10/a10_lab2.html", {"error": " Wrong username or Password"})

{% endblock %}