From 8dc0d73da97c6edff43d12af53ac9a707814196e Mon Sep 17 00:00:00 2001 From: MaximeOLIVA <maxime.oliva@etu.univ-cotedazur.fr> Date: Fri, 3 Mar 2023 20:50:12 +0100 Subject: [PATCH] password recover --- .../database_helper.cpython-310.pyc | Bin 4689 -> 4756 bytes Lab4/__pycache__/server.cpython-310.pyc | Bin 6143 -> 8444 bytes Lab4/database.db | Bin 761856 -> 761856 bytes Lab4/database_helper.py | 14 +++- Lab4/server.py | 72 +++++++++++++++++- Lab4/static/client.css | 11 +++ Lab4/static/client.html | 1 + Lab4/static/client.js | 12 ++- Lab4/static/password_recovery.css | 34 +++++++++ Lab4/static/password_recovery_form.html | 20 +++++ Lab4/static/password_recovery_sent.html | 13 ++++ Lab4/static/recover_password.html | 22 ++++++ 12 files changed, 192 insertions(+), 7 deletions(-) create mode 100644 Lab4/static/password_recovery.css create mode 100644 Lab4/static/password_recovery_form.html create mode 100644 Lab4/static/password_recovery_sent.html create mode 100644 Lab4/static/recover_password.html diff --git a/Lab4/__pycache__/database_helper.cpython-310.pyc b/Lab4/__pycache__/database_helper.cpython-310.pyc index 39a86975cf1d2709547c7edc3fcfc7d630ba111c..f635570f53710411968225763425148b7abec8f0 100644 GIT binary patch delta 267 zcmcbpGDVdypO=@5fq{Wxy)<LWR<VtIrF@LPCb#evGU`ueWRbOsV_;yY(kNkQW>~<u zkfD~ThG_v)3S$jJI^#knMur-u1<VT>YME=8i_}t>YFWVQm}*#R7;6|NH*kqf=3*0N zEz)CPV3_R3Z>%KEz`&r%TExe|z!1fqms(zsSX^A5UzAcL&cMJ>qzO_slV3|tf`Ng7 ziIIzukCB6sg^`6(h>?qtjggIsjggJ9$YAn94w1>P`6mhQV_;w?=3ro8fT-kQEHa!t rLEw}4QII$f*bEVfPLMv+$uk8b1oS}`8Gr~w5Mer*QOK8BfQKCbQ=T)W delta 211 zcmbQDdQpWhpO=@5fq{Wx&ZPgzcSJYxmGUuGO>W^UWYc3{U`S?~Y|kqvl)_lcRKn2A zuz<0KsfMwJA&qIW1e5CIdVWI*ZUzPhP39s#1_p*G?!46Ug2dwD^8BKd$(Q)GL_nfU zj4X^oj9iRtU|6I-c_D|$WIcgN5<3_e7>YR<7#O%1`4~AEc^HcfKsGW@w&#_Y{6XNV r_<oQA9tH*mCPop20Vb302u28i99N{zz`y|3RAe&QMaY+#i-#QmYJe&A diff --git a/Lab4/__pycache__/server.cpython-310.pyc b/Lab4/__pycache__/server.cpython-310.pyc index 32747256fc1acb196f39de31516988c4e65704be..8923e6ded4ef87e497f3fa990279cda3c78dcc4d 100644 GIT binary patch delta 5034 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 Z;$q|z;bP?Dn|x7Rjf0B|)Qn;I2LKLKtJnYl delta 2760 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 SANS;Q3Thl2Tx_6Z@DBh6Qc9ix diff --git a/Lab4/database.db b/Lab4/database.db index 7fd372c02c76c6a5d6a8824bc576312f87bdef86..4d522693d6546cc621213a78e6a9558f282423d2 100644 GIT binary patch delta 1948 zcmZoTpx1CfZ-O*$Is*g4E(QjMdIkoD=@T`~8Phi=EaB&3=1*ea-_JjRKWVd|KnQ=V z4l{?au&A)Gx^yBK<R<2%f*ByfAw4%SGe<8uKQ}QcIVCkMU6+YNSWr|{R8umwC^fYR zq&T$*0&^2943X4>v?os9FYn65%)gI;e;@w^{>PgI6*lmz3NouRCMG5#)G`Y(Ycis0 zXWIN&{{g>xsef)(wrg;Pw~1+ah)0Q^Pnw~Vd5T-Qzgf7EYekAnSU`YzVq)UvSN4DT znZXQyF$Dou1_lNu{#OhP3=FmW@A+SCZ0u#+Jh#x7Pl17f!JmnNfq|0|BniX33=9m6 zjI$XSXK!qr$jH((JCJen{K92i+g)Q=)-f}hG=J%D|I*L6{YyWSK*DyG1jhgTj7Hm8 z0zkC!b`}Q^ZL*!k07RQ^XGviH&(CPKouvRon{Q`n0MQoPStfvJ%k3-+K(y6%mJJ}< zdOOPj_W$yXw%b_>K>F>rvowHc`|T_fK(xblmIWZ%aXZTf5bd;`<p79w-p&%h^q-&6 zWjjj(h<4r1QUIdewzD*VX!q?b6F{`bc9sPo+H*V01`zGFo#g<C_TJ8N0Yv+3XL$gk zeYdlG0MUM1S(yLxGx~355n%qq&jksZSqzM`Ha1RR<ZYTA#KfxEvYiVQTicfhviR@` zPJ#s^l=cVvh@UY4>cc>&kAt8g5DX2G5NHU6LPIP9N=HJ)qoC@dq55K==EOqHjRV^w z&lm@dk;Kg`7yk1zCPBH$&<IL_Mo=m=g3`9LD1ZVmeLIT)h|bu`0-`cEvwZl^znpmi zn*d`r#H5_<EDdb``5ALJvn=?}&zJ{|p?qiz6+mOC5E?^8&=@L)#!v|~hDxC^R0fTq za%c=yKx3#98bejk7^;TGPz^MO>Oe6Bj|x~S<!qWA$jqwVvYl)Dl0X)JKEWPn@WZGE zNQ6!dV5y(Rz`zj4z`zi|z`zj5z`zj1z`y{C*u@MC3`-ao7?v_HFi0^lFi0~nFi0{m zFc>f}FvK!2FvKu0FhnyjFhnshFhnpgFoZKOFwA0LV3^Ioz%Yk_fnhEK1H(K928Q_z z3=9hx7#J2ZFfc4)U|>*XU|>*TU|>*YU|>*UV3^+afL)L^jDdk6a{8PH?B1G&3=9lL z3=9l@3=9mu3=9lD3=9n33=9lj3=9mO3=9k&3=9nJ3=9lz(>)%rYx5>BFfc4*U|?9z zz`(F#y1^rM<@yi?28K`u28Lh;28MVB1_omW28Im`3=HcT7#P+uFfgoTU|?9oz`(GY zfq`Ka0|UcK1_p+W3=9mL7#J8fGcYi0VPIg`%D}*|je&t-I|Bp54h9B>ozU_!k%56B ziGhJ3nSp^Jg@J(~m4SgFje&syRGwxqFfe2?Ft9OXF)%P>Pp^5%uFP4&z`#(-z`#&8 zUEmSBv|$|s149D?14APN149!714A<d149b~14AnV14A1F14BCl149P`14AdWHhI-r z1_p*21_p*|1_p*I1_p*o1_p)-1_p+5kjYS`CEM3LVh`tKY=q>|CQu&z&(GMrokanZ zXIr+j7=Y;3?JN!;x@|j40Elki&XNG4JGQeFfauQcEDg;6<(D&GU>9KQ0_P%r#$IUd z>x1ULerWES0L^_9p}DUcn)@b0)lY${p9)n!4XS=RRQ(L7`k7#R<QZo}v*#RW_M8jN zp7WsDb3QbCE`Vmwg^=vI2%J3`7jI^H@SmS?2_%Cqg=WxYkPNyUnn71UGw4c42HnoQ zfQwN8nmN}%Gv``p=3EEOoa>>Pa|1MUZiHseP0-A_8Jan_Kr`o7Xy)7o%AEiC8Mi}n W8{-a0)a-;t%`RxvOaw*EAASJlq$wW& delta 70691 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	WYrFw6x_HXu0~q#VDo_23p0 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 PbM!7~j@|~!(SP^>4Qghi diff --git a/Lab4/database_helper.py b/Lab4/database_helper.py index 2e52d2f..2b9eb13 100644 --- a/Lab4/database_helper.py +++ b/Lab4/database_helper.py @@ -173,10 +173,16 @@ def check_user_exists(email): def change_password(email, newpassword): try: - sql = "UPDATE USERS SET PASSWORD = ? WHERE EMAIL = ?;" - get_db().execute(sql, (newpassword, email)) - get_db().commit() - return True + cursor = get_db().cursor() + cursor.execute("SELECT EMAIL FROM USERS WHERE EMAIL=?", [email]) + exists = cursor.fetchone() + if exists: + sql = "UPDATE USERS SET PASSWORD = ? WHERE EMAIL = ?;" + get_db().execute(sql, (newpassword, email)) + get_db().commit() + return True + else: + return False except: return False diff --git a/Lab4/server.py b/Lab4/server.py index c915e23..88f37dd 100644 --- a/Lab4/server.py +++ b/Lab4/server.py @@ -1,5 +1,7 @@ -from flask import Flask, request, jsonify +from flask import Flask, request, jsonify, render_template from flask_sock import Sock +from datetime import datetime, timedelta +from flask_mail import Mail, Message import waitress import database_helper @@ -8,11 +10,25 @@ import string import json import re import io +import os +import secrets app = Flask(__name__, template_folder='static') +app.config['SECRET_KEY'] = os.environ.get('SECRET_KEY', 'devkey') +app.config['MAIL_SERVER']='sandbox.smtp.mailtrap.io' +app.config['MAIL_PORT'] = 2525 +app.config['MAIL_USERNAME'] = 'c1159416d31517' +app.config['MAIL_PASSWORD'] = '9971f0f667254a' +app.config['MAIL_USE_TLS'] = True +app.config['MAIL_USE_SSL'] = False +app.config['RECOVERY_TOKEN_LIFETIME'] = timedelta(minutes=1) +app.config['RECOVERY_TOKEN_LENGTH'] = 24 + sockets = Sock(app) +mail = Mail(app) loggedIn_for_ws = {} +tokens = {} @sockets.route("/profil_view") def socket_connection(ws): @@ -32,6 +48,57 @@ def hello_world(): return app.send_static_file("client.html"), 200 +@app.route('/password-recovery', methods=['GET', 'POST']) +def password_recovery(): + if request.method == 'POST': + email = request.form['email'] + if database_helper.check_user_exists(email): + token = generate_recovery_token(email) + send_recovery_link(email, token) + return render_template('password_recovery_sent.html') + else: + return render_template('password_recovery_form.html', message_error="This email doesn't exist") + else: + return render_template('password_recovery_form.html') + +def generate_recovery_token(email): + token = secrets.token_hex(app.config['RECOVERY_TOKEN_LENGTH']) + expiration_date = datetime.utcnow() + app.config['RECOVERY_TOKEN_LIFETIME'] + tokens[token] = {'email': email, 'expiration_date': expiration_date} + return token + +def send_recovery_link(email, token): + msg = Message('Twidder Password Recovery', sender='twidder@mailtrap.io', recipients=[email]) + recovery_link = request.url_root + 'reset-password/' + token + msg.body = f'Click the following link to reset your Twidder password: {recovery_link}' + mail.send(msg) + +@app.route('/reset-password/<token>', methods=['GET', 'POST']) +def reset_password(token): + if token not in tokens: + return render_template('password_recovery_form.html') + + expiration_date = tokens[token]['expiration_date'] + if datetime.utcnow() > expiration_date: + del tokens[token] + return render_template('password_recovery_form.html') + + if token in tokens and request.method == 'GET': + return render_template('recover_password.html') + + if request.method == 'POST': + pass1 = request.form['password1'] + pass2 = request.form['password2'] + email = tokens[token]['email'] + if(len(pass1) > 5 and len(pass2) > 5) and (pass1 == pass2): + del tokens[token] + database_helper.change_password(email, pass1) + return render_template('client.html') + else: + return render_template('recover_password.html', message_error = "Please enter a password of 6 characters at least and enter the same passwords.") + else: + return render_template('password_recovery_form.html') + @app.route("/users/sign_up", methods = ['POST']) def sign_up(): data = request.get_json() @@ -84,7 +151,10 @@ def sign_in(): def sign_out(): token = get_token_from_header() if(token != 1): + email = database_helper.tokenToEmail(token) if database_helper.removeFromLoggedInUsers(token): + del loggedIn_for_ws[email] + print("loggedIn_for_ws : ", loggedIn_for_ws) return "", 200 else: return "", 401 diff --git a/Lab4/static/client.css b/Lab4/static/client.css index 340dedf..879a877 100644 --- a/Lab4/static/client.css +++ b/Lab4/static/client.css @@ -34,6 +34,12 @@ body { width: 600px; } +.forgot-password { + position: absolute; + margin-top: 5px; + margin-left: 60px; +} + h2 { text-align: center; } @@ -91,6 +97,11 @@ img { margin-top: 20px; } +#merror { + color: red; + text-align: center; +} + #panel-default { background-color: darkgrey; border: solid black 1px; diff --git a/Lab4/static/client.html b/Lab4/static/client.html index dc7af93..d1b693d 100644 --- a/Lab4/static/client.html +++ b/Lab4/static/client.html @@ -14,6 +14,7 @@ <form id="login" onsubmit="signIn(this); return false;"> <div><label for="email">Email</label><input class="logintexts" type="email" id="l_email" required></div> <div><label for="password">Password</label><input class="logintexts" type="password" id="l_password" required></div> + <div><a href="/password-recovery" class="forgot-password" ">Forgot password?</a></div> <input value="Login" class="lbutton" type="submit"> </form> <form id="signup" onsubmit="signUp(this); return false;"> diff --git a/Lab4/static/client.js b/Lab4/static/client.js index 3bf2212..6a21092 100644 --- a/Lab4/static/client.js +++ b/Lab4/static/client.js @@ -211,6 +211,13 @@ function signIn(formData) { } +function checkpass(formData) { + let passwords = { + password1 : formData.password1.value, + password2 : formData.password2.value + } + window.alert('test'); +} //---------------------------------------SIGN OUT--------------------------------------- function signOut() { @@ -511,7 +518,7 @@ function drop(e) { document.getElementById("drop-zone").classList.remove("hover"); var files = e.dataTransfer.files; var file = files[0]; - + if (file.type.endsWith('png') || file.type.endsWith('jpeg')) { const formData = new FormData(); formData.append('image', file); @@ -542,6 +549,7 @@ function load_profilepicture() { var xhr = new XMLHttpRequest(); xhr.open('GET', '/users/account/getpp/' + localStorage.getItem('reloadHome')); xhr.responseType = 'blob'; + xhr.send(); xhr.onload = function() { if (xhr.status === 200) { // Create a new image object from the blob data @@ -550,5 +558,5 @@ function load_profilepicture() { img.src = window.URL.createObjectURL(blob); } }; - xhr.send(); + } diff --git a/Lab4/static/password_recovery.css b/Lab4/static/password_recovery.css new file mode 100644 index 0000000..2d72432 --- /dev/null +++ b/Lab4/static/password_recovery.css @@ -0,0 +1,34 @@ +body { + background-color: #0F98B7; +} +.container { + max-width: 300px; + margin: auto; +} +form { + background-color: #fff; + padding: 20px; + border-radius: 5px; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); +} +label { + font-weight: bold; +} + +.form-group { + display: flex; + flex-direction: column; + width: 250px; +} + +.form-group label { + text-align: left; +} + +button { + margin-top: 5px; +} + +#error { + color: red; +} diff --git a/Lab4/static/password_recovery_form.html b/Lab4/static/password_recovery_form.html new file mode 100644 index 0000000..f4da50f --- /dev/null +++ b/Lab4/static/password_recovery_form.html @@ -0,0 +1,20 @@ +<!DOCTYPE html> +<html> + <head> + <title>Twidder - Password Recovery</title> + <link href="/static/password_recovery.css" type="text/css" rel="stylesheet"> + </head> + <body> + <div class="container"> + <h1 class="mt-5 mb-3">Password Recovery</h1> + <form method="post" action="/password-recovery"> + <div class="form-group"> + <label for="email">Enter your email</label> + <input type="email" class="form-control" id="email" name="email" required> + </div> + <button type="submit" class="btn btn-primary">Send Recovery Link</button> + <p id="error">{{message_error}}<p> + </form> + </div> + </body> +</html> diff --git a/Lab4/static/password_recovery_sent.html b/Lab4/static/password_recovery_sent.html new file mode 100644 index 0000000..fd9e290 --- /dev/null +++ b/Lab4/static/password_recovery_sent.html @@ -0,0 +1,13 @@ +<!DOCTYPE html> +<html> + <head> + <title>Twidder - Password Recovery Sent</title> + <link href="/static/password_recovery.css" type="text/css" rel="stylesheet"> + </head> + <body> + <div class="container"> + <h1 class="mt-5 mb-3">Password Recovery Sent</h1> + <p>An email has been sent to your email with a link to reset your password. Please check your inbox.</p> + </div> + </body> +</html> diff --git a/Lab4/static/recover_password.html b/Lab4/static/recover_password.html new file mode 100644 index 0000000..54e0270 --- /dev/null +++ b/Lab4/static/recover_password.html @@ -0,0 +1,22 @@ +<!DOCTYPE html> +<html> + <head> + <title>Twidder - Change Password</title> + <link href="/static/password_recovery.css" type="text/css" rel="stylesheet"> + </head> + <body> + <div class="container"> + <h1 class="mt-5 mb-3">Change password</h1> + <form method="post"> + <div class="form-group"> + <label for="password1">New password</label> + <input type="password" class="form-control" id="password1" name="password1" required> + <label for="password2" id="test">Write it again</label> + <input type="password" class="form-control" id="password2" name="password2" required> + <button type="submit" class="btn btn-primary">Change</button> + <p id="error">{{message_error}}<p> + </div> + </form> + </div> + </body> +</html> -- GitLab