瀏覽代碼

Store password hash instead of plain password in database

https
jakobsn 6 年之前
父節點
當前提交
cf55ad7e96
共有 3 個文件被更改,包括 10 次插入7 次删除
  1. +2
    -2
      src/app/models/database.py
  2. +6
    -4
      src/app/views/login.py
  3. +2
    -1
      src/app/views/register.py

+ 2
- 2
src/app/models/database.py 查看文件

@@ -3,8 +3,8 @@ import mysql.connector
db = mysql.connector.connect(
user='root',
password='root',
host='10.5.0.5', # Docker address
#host='0.0.0.0', # Local address
#host='10.5.0.5', # Docker address
host='0.0.0.0', # Local address
database='db'
)

+ 6
- 4
src/app/views/login.py 查看文件

@@ -3,6 +3,7 @@ from views.forms import login_form
import models.login
from views.utils import get_nav_bar
import os, hmac, base64, pickle
import hashlib

# Get html templates
render = web.template.render('templates/')
@@ -57,9 +58,12 @@ class Login():
:return: The login page showing other users if logged in
"""
session = web.ctx.session
friends = [[],[]]
# Validate login credential with database query
data = web.input()
user = models.login.match_user(data.username, data.password)
data = web.input(username="", password="")
password_hash = hashlib.md5(b'TDT4237' + data.password.encode('utf-8')).hexdigest()
print("hash", password_hash)
user = models.login.match_user(data.username, password_hash)
# If there is a matching user/password in the database the user is logged in
if len(user):
friends = models.login.get_users()
@@ -68,8 +72,6 @@ class Login():
if data.remember:
remember = self.rememberme()
web.setcookie('remember', remember , 12000000)
else:
friends = [[],[]]
nav = get_nav_bar(session)
return render.login(nav, login_form, friends)



+ 2
- 1
src/app/views/register.py 查看文件

@@ -2,6 +2,7 @@ import web
from views.forms import register_form
import models.register
from views.utils import get_nav_bar
import hashlib

# Get html templates
render = web.template.render('templates/')
@@ -26,7 +27,7 @@ class Register:
:return: Main page
"""
data = web.input()
models.register.set_user(data.username, data.password,
models.register.set_user(data.username, hashlib.md5(b'TDT4237' + data.password.encode('utf-8')).hexdigest(),
data.full_name, data.company, data.phone_number, data.street_address,
data.city, data.state, data.postal_code, data.country)
raise web.seeother('/')


Loading…
取消
儲存