auth issue fix

This commit is contained in:
aneuhmanh 2025-02-17 12:11:01 +02:00
parent 3d146e87e7
commit dc70b84446

45
app.py
View File

@ -21,6 +21,9 @@ from flask_wtf.file import FileAllowed
from flask_wtf.csrf import validate_csrf
from wtforms import StringField, PasswordField, SubmitField, FileField,BooleanField, RadioField, SelectField, TextAreaField
from wtforms.validators import DataRequired, Length, EqualTo, ValidationError, Regexp
from wtforms import StringField, PasswordField, SubmitField
from wtforms.validators import DataRequired, EqualTo, Regexp
from flask_wtf import FlaskForm, RecaptchaField
app = Flask(__name__)
csrf = CSRFProtect(app)
@ -775,9 +778,20 @@ def user_pubs(pub_type, username):
search_query=search_query
)
from wtforms import StringField, PasswordField, SubmitField
from wtforms.validators import DataRequired, EqualTo, Regexp
from flask_wtf import FlaskForm, RecaptchaField
class LoginForm(FlaskForm):
username = StringField('Username', validators=[DataRequired()])
password = PasswordField('Password', validators=[DataRequired()])
recaptcha = RecaptchaField()
submit = SubmitField('Login')
def get_client_ip():
if 'X-Forwarded-For' in request.headers:
forwarded_for = request.headers['X-Forwarded-For']
ip_address = forwarded_for.split(',')[0]
else:
ip_address = request.remote_addr
return ip_address
class RegistrationForm(FlaskForm):
username = StringField(
@ -793,14 +807,6 @@ class RegistrationForm(FlaskForm):
recaptcha = RecaptchaField()
submit = SubmitField('Register')
def validate_username(self, username):
user = User.query.filter_by(username=username.data).first()
if user:
return
if not re.match(r'^[a-zA-Z0-9_]+$', username.data):
return
def validate_username(self, username):
username.data = username.data.lower()
user = User.query.filter_by(username=username.data).first()
@ -816,21 +822,6 @@ class RegistrationForm(FlaskForm):
if user_with_ip:
return
class LoginForm(FlaskForm):
username = StringField('Username', validators=[DataRequired()])
password = PasswordField('Password', validators=[DataRequired()])
recaptcha = RecaptchaField()
submit = SubmitField('Login')
def get_client_ip():
if 'X-Forwarded-For' in request.headers:
forwarded_for = request.headers['X-Forwarded-For']
ip_address = forwarded_for.split(',')[0]
else:
ip_address = request.remote_addr
return ip_address
@app.route('/register', methods=['GET', 'POST'])
def register():
form = RegistrationForm()
@ -1605,4 +1596,4 @@ def buy_item(item_id):
if __name__ == '__main__':
with app.app_context():
db.create_all()
app.run(debug=False)
app.run(debug=True)