Explorar el Código

Log user registration and invalid login attempts

Fixes #15
pull/37/head
Sindre Stephansen hace 5 años
padre
commit
f8022f372f
Se han modificado 2 ficheros con 11 adiciones y 0 borrados
  1. +7
    -0
      src/app/views/login.py
  2. +4
    -0
      src/app/views/register.py

+ 7
- 0
src/app/views/login.py Ver fichero

@@ -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.")


+ 4
- 0
src/app/views/register.py Ver fichero

@@ -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!")

Cargando…
Cancelar
Guardar