From 66950e0d2efeb63c21e094060a4cac7e3343d35d Mon Sep 17 00:00:00 2001 From: Gyanender Kumar <72467942+Gyani25k@users.noreply.github.com> Date: Sun, 3 Aug 2025 02:23:19 +0530 Subject: [PATCH 1/2] Enhance authentication by adding password hashing --- app.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/app.py b/app.py index 4c316cf..5e6c13e 100644 --- a/app.py +++ b/app.py @@ -1,6 +1,7 @@ from flask import Flask, request, jsonify, render_template, redirect, url_for, flash from flask_sqlalchemy import SQLAlchemy from flask_login import LoginManager, UserMixin, login_user, login_required, logout_user, current_user +from werkzeug.security import generate_password_hash, check_password_hash import pdfplumber import pandas as pd import re @@ -16,9 +17,9 @@ class User(UserMixin, db.Model): - id = db.Column(db.Integer, primary_key=true) - username = db.Column(db.String(150), unique=true, nullable=false) - password = db.Column(db.String(150), nullable=false) + id = db.Column(db.Integer, primary_key=True) + username = db.Column(db.String(150), unique=True, nullable=False) + password = db.Column(db.String(150), nullable=False) @login_manager.user_loader @@ -37,7 +38,8 @@ def register(): flash('Username already exists') return redirect(url_for('register')) - new_user = User(username=username, password=password) # Hash password before saving + hashed_password = generate_password_hash(password, method='sha256') + new_user = User(username=username, password=hashed_password) db.session.add(new_user) db.session.commit() login_user(new_user) @@ -53,7 +55,7 @@ def login(): password = request.form.get('password') user = User.query.filter_by(username=username).first() - if not user or not user.password == password: # Hash compare instead + if not user or not check_password_hash(user.password, password): flash('Invalid credentials') return redirect(url_for('login')) @@ -107,4 +109,4 @@ def extract_table_from_pdf(pdf_file_path): if __name__ == '__main__': with app.app_context(): db.create_all() - app.run(debug=true, port=8000) \ No newline at end of file + app.run(debug=True, port=8000) \ No newline at end of file From e29f751d21d8b527fd5e2a2fba0579341f673941 Mon Sep 17 00:00:00 2001 From: Gyanender Kumar <72467942+Gyani25k@users.noreply.github.com> Date: Sun, 3 Aug 2025 02:23:49 +0530 Subject: [PATCH 2/2] Create HTML templates with Bootstrap for enhanced UI --- templates/homepage.html | 37 +++++++++++++++++++++++++++++++++++++ templates/login.html | 28 ++++++++++++++++++++++++++++ templates/register.html | 28 ++++++++++++++++++++++++++++ 3 files changed, 93 insertions(+) create mode 100644 templates/homepage.html create mode 100644 templates/login.html create mode 100644 templates/register.html diff --git a/templates/homepage.html b/templates/homepage.html new file mode 100644 index 0000000..e0b6ce4 --- /dev/null +++ b/templates/homepage.html @@ -0,0 +1,37 @@ + + +
+ + +