From 67c208e06118de73e91af3cad45915da477f29ec Mon Sep 17 00:00:00 2001 From: Timur Demin Date: Thu, 13 Jun 2019 06:22:28 +0500 Subject: [PATCH] Add IP address logging --- project_amber/helpers/auth.py | 8 ++++++-- project_amber/models/auth.py | 5 +++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/project_amber/helpers/auth.py b/project_amber/helpers/auth.py index b6054a7..cf89467 100644 --- a/project_amber/helpers/auth.py +++ b/project_amber/helpers/auth.py @@ -94,8 +94,12 @@ def createSession(name: str, password: str) -> str: # have to reveal the presence or absence of a user in the system if verifyPassword(user.id, password): token = sha256(gensalt() + bytes(str(time()).encode())).hexdigest() - session = Session(token=token, user=user.id, login_time=time()) - log("User %s logged in" % user.name) + session = Session(token=token, user=user.id, login_time=time(), \ + address=request.remote_addr) + log("User {0} logged in from {1}".format( + user.name, + request.remote_addr + )) db.session.add(session) db.session.commit() return token diff --git a/project_amber/models/auth.py b/project_amber/models/auth.py index 239a8ca..9c0c79f 100644 --- a/project_amber/models/auth.py +++ b/project_amber/models/auth.py @@ -18,6 +18,7 @@ class Session(db.Model): token = db.Column(db.String(256), primary_key=True) user = db.Column(db.Integer, db.ForeignKey("user.id"), nullable=False) login_time = db.Column(db.Integer, nullable=False) + address = db.Column(db.String(100), nullable=False) def __repr__(self): - return "" % \ - self.token, self.user, self.login_time + return "" % \ + self.token, self.user, self.login_time, self.address