Forbid any whitespace in usernames

This should prevent confusion between e.g. 'A B' and 'A  B'
This commit is contained in:
David Hoppenbrouwers
2022-10-15 19:49:58 +02:00
parent 18d914b889
commit a0747ad62f

View File

@@ -7,6 +7,7 @@ from db.sqlite import DB
import os, sys, subprocess import os, sys, subprocess
import passlib.hash, secrets import passlib.hash, secrets
import time import time
import string
from datetime import datetime from datetime import datetime
import captcha, password, minimd import captcha, password, minimd
@@ -357,9 +358,9 @@ def edit_comment(comment_id):
def register(): def register():
if request.method == 'POST': if request.method == 'POST':
username, passwd = request.form['username'], request.form['password'] username, passwd = request.form['username'], request.form['password']
if username != username.strip(): if any(c in username for c in string.whitespace):
# This error is more ergonomic in case someone tries to play tricks again :) # This error is more ergonomic in case someone tries to play tricks again :)
flash('Username may not begin or end with whitespace', 'error') flash('Username may not contain whitespace', 'error')
elif len(username) < 3: elif len(username) < 3:
flash('Username must be at least 3 characters long', 'error') flash('Username must be at least 3 characters long', 'error')
elif len(passwd) < 8: elif len(passwd) < 8: