From 2cddf6fa102ddfa4861fff5f3ca1fba5b2301c84 Mon Sep 17 00:00:00 2001 From: burzuf Date: Sun, 15 Mar 2020 12:03:26 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=BF=D0=B8=D1=81=D0=B0=D0=BD?= =?UTF-8?q?=D0=B0=20=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=BA=D0=B0=20?= =?UTF-8?q?=D0=BD=D0=B0=20=D1=81=D1=83=D1=89=D0=B5=D1=81=D1=82=D0=B2=D1=83?= =?UTF-8?q?=D1=8E=D1=89=D0=B5=D0=B3=D0=BE=20=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7?= =?UTF-8?q?=D0=BE=D0=B2=D0=B0=D1=82=D0=B5=D0=BB=D1=8F=20=D0=BF=D1=80=D0=B8?= =?UTF-8?q?=20=D1=80=D0=B5=D0=B3=D0=B8=D1=81=D1=82=D1=80=D0=B0=D1=86=D0=B8?= =?UTF-8?q?=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- __init__.py | 44 +++++++++++++++++++++++++++++++----------- templates/content.html | 6 +++--- 2 files changed, 36 insertions(+), 14 deletions(-) diff --git a/__init__.py b/__init__.py index 862e609..3cb2be1 100644 --- a/__init__.py +++ b/__init__.py @@ -1,7 +1,10 @@ from flask import Flask, render_template, flash, redirect, url_for, session, logging, request from flask_sqlalchemy import SQLAlchemy +import os +import hashlib +import sqlite3 -app = Flask(__name__, static_folder="static", template_folder="templates") +app = Flask(__name__, static_folder='static', template_folder='templates') app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///data.db' db = SQLAlchemy(app) @@ -11,28 +14,47 @@ def index(): return render_template('index.html') -@app.route("/registration", methods=["GET", "POST"]) +@app.route('/registraion', methods=['GET', 'POST']) def register(): - if request.method == "POST": - + if request.method == 'POST': UserLogin = request.form['UserLogin'] UserPass = request.form['UserPass'] + if not find_user_copy(UserLogin): + db.session.add(UserLogin, passw_hash(UserPass)) + db.session.commit() + return render_template('registration.html') - #db.session.add(UserLogin, UserPass) - #db.session.commit() - #return redirect(url_for("")) +@app.route('/content', methods=['GET']) +def content(): + return render_template('content.html') - print(UserLogin, ' ', UserPass) - # return страница с контентом - return render_template("registration.html") +@app.errorhandler(404) +def not_found(error): + return render_template('404.html'), 404 +def find_user_copy(user_login): + con = sqlite3.connect('data.db') + with con: + cur = con.cursor() + exist = cur.execute('SELECT EXISTS ( SELECT UserLogin FROM Users Where UserLogin = ' + user_login + ' LIMIT 1') + return exist + + +def passw_hash(user_passw): + salt = os.urandom(32) + key = hashlib.pbkdf2_hmac('sha256', user_passw.encode('utf-8'), salt, 100000) + storage = salt + key + # salt_from_storage = storage[:32] # 32 длина соли + # key_from_storage = storage[32:] + return storage + # @app.route('/login', methods=['GET']) # def login(): # return render_template('login.html') -if __name__ == "__main__": +if __name__ == '__main__': app.run() diff --git a/templates/content.html b/templates/content.html index eb6aa68..0b8a642 100644 --- a/templates/content.html +++ b/templates/content.html @@ -29,7 +29,7 @@
- Лист событий + Настройки
@@ -38,9 +38,9 @@