Correction on signup

This commit is contained in:
2024-03-31 01:37:25 +01:00
parent f5901a2ed4
commit 5ccf91701f
8 changed files with 70 additions and 97 deletions

View File

@@ -3,7 +3,7 @@ from flask_bcrypt import Bcrypt
import sqlite3
import glob, os, sys, time
from tools.utils import email_disp, valid_token_register, valid_passwd
from tools.utils import email_disp, valid_token_register, valid_passwd, valid_username
from socket import gethostname
app = Flask( 'pywallter' )
@@ -30,7 +30,7 @@ inscription = Blueprint('inscription', __name__, template_folder='templates')
@inscription.route( '/inscription/<token>', methods=['GET','POST'] )
def signin(token) :
hostname = gethostname()
url_inscription = BASE_URL+'inscription/'+token
url_inscription = url_for('loginlogout.index', _external=True)+'inscription/'+token
resp = None
if valid_token_register(token):
if 'username' in session :
@@ -48,32 +48,20 @@ def signin(token) :
if request.method == 'POST':
#On test si aucun champs du formulaire n'est vide.
if MAIL_SERVER:
if len(request.form['user']) == 0 or \
len(request.form['passwd']) == 0 or \
len(request.form['passwdconfirm']) == 0 or \
len(request.form['mail']) == 0 :
flash(u'Il faut remplir le formulaire en entier, les champs ne peuvent pas etre vide ', 'error')
return render_template('inscription.html',
signin_enable=app.config['SIGNIN_ENABLE'],
token=token, hostname=hostname,
url_inscription=url_inscription,
MAIL_SERVER=MAIL_SERVER, XMPP_SEVER=XMPP_SERVER)
else:
if len(request.form['user']) == 0 or \
len(request.form['passwd']) == 0 or \
len(request.form['passwdconfirm']) == 0:
if len(request.form['user']) == 0 or \
len(request.form['passwd']) == 0 or \
len(request.form['passwdconfirm']) == 0:
flash(u'Il faut remplir le formulaire en entier, les champs ne peuvent pas etre vide ', 'error')
return render_template('inscription.html',
signin_enable=app.config['SIGNIN_ENABLE'],
token=token, hostname=hostname,
url_inscription=url_inscription,
MAIL_SERVER=MAIL_SERVER, XMPP_SERVER=XMPP_SERVER)
flash(u'Il faut remplir le formulaire en entier, les champs ne peuvent pas etre vide ', 'error')
return render_template('inscription.html',
signin_enable=app.config['SIGNIN_ENABLE'],
token=token, hostname=hostname,
url_inscription=url_inscription,
MAIL_SERVER=MAIL_SERVER, XMPP_SERVER=XMPP_SERVER)
user = request.form['user']
passwd = request.form['passwd']
mail = user+'@'+hostname
passwdconfirm = request.form['passwdconfirm']
bcrypt_passwd = bcrypt.generate_password_hash(request.form['passwd'])
mail_passwd_change = 0
@@ -88,8 +76,9 @@ def signin(token) :
testuser = cursor.fetchone()
conn.close()
if testuser:
flash(u'Non d\'utilisateur déjà utilisé, merci d\'en choisir un autre', 'error')
if testuser and valid_username(user):
flash(u'Non d\'utilisateur déjà utilisé ou contient des caractères invalides, merci d\'en choisir un autre', 'error')
flash(u'Les caractères espaces et \' ( ) < > , ; : " [ ] | ç % & ne sont pas autorisés', 'error')
not_error = False
if not(password_valid):
@@ -97,9 +86,9 @@ def signin(token) :
not_error = False
if MAIL_SERVER:
mail = request.form['mail'].lower()+'@'+hostname
mail = user.lower()+'@'+hostname
if not(email_disp(mail)) :
flash(u'Adresse email déjà utilisé ou invalide, merci d\'en choisir une autre', 'error')
flash(u'Cette Adresse email est déjà utilisée , merci d\'en choisir une autre', 'error')
not_error = False
if not_error: