diff --git a/src/app/views/login.py b/src/app/views/login.py index 1c0df3e..bf431c7 100755 --- a/src/app/views/login.py +++ b/src/app/views/login.py @@ -3,11 +3,14 @@ from views.forms import login_form from views.utils import get_nav_bar, csrf_protected import models.session import models.user +import logging import random import string import bcrypt import time +logger = logging.getLogger(__name__) + # Get html templates render = web.template.render('templates/') @@ -60,10 +63,14 @@ class Login(): return render.login(nav, login_form, "- There have been too many incorrect login attempts for your account. You have to wait a minute before you can log in.") if bcrypt.checkpw(data.password.encode('UTF-8'), password_hash.encode('UTF-8')): + if login_attempts > login_attempts_threshold: + logger.info("User %s logged in succesfully after %s attempts", username, login_attempts) + models.user.set_login_attempts(userid, 0, time.time()) self.login(username, userid, data.remember) raise web.seeother("/") else: + logger.warning("Incorrect login attempt on user %s by IP %s", username, web.ctx.ip) models.user.set_login_attempts(userid, login_attempts+1, time.time()) if login_attempts == login_attempts_threshold: return render.login(nav, login_form, "- Too many incorrect login attempts. You have to wait a minute before trying again.") diff --git a/src/app/views/register.py b/src/app/views/register.py index 2853052..c4108a0 100755 --- a/src/app/views/register.py +++ b/src/app/views/register.py @@ -3,9 +3,12 @@ from views.forms import register_form from views.utils import get_nav_bar, csrf_protected, password_weakness import models.register import models.user +import logging import bcrypt import re +logger = logging.getLogger(__name__) + # Get html templates render = web.template.render('templates/') @@ -52,4 +55,5 @@ class Register: data.email, data.street_address, data.city, data.state, data.postal_code, data.country) + logger.info("User %s registered", data.username) return render.register(nav, register_form, "User registered!")