我在烧瓶中进行了以下登录。现在我想知道它是否安全。如果不是,我还需要添加什么才能提高成熟度。我知道像SSL这样的东西也很重要,但现在我只关心我能做些什么来使我的Flask代码更安全。我的Flask登录安全吗?
#Login
@app.route('/', methods=['GET', 'POST'])
def index():
form = LoginForm()
if form.validate_on_submit():
user = User.query.filter_by(username=form.username.data).first()
if user:
if bcrypt.check_password_hash(user.password, form.password.data):
login_user(user)
return redirect(url_for('dashboard'))
return render_template('login.html', form=form, ermsg="Invalid credentials")
return render_template('login.html', form=form)
#Sign up
@app.route('/signup', methods=['GET', 'POST'])
def signup():
form = RegisterForm()
if form.validate_on_submit():
pw_hash = bcrypt.generate_password_hash(form.password.data, 12)
new_user = User(username=form.username.data, email=form.email.data, password=pw_hash)
db.session.add(new_user)
db.session.commit()
return render_template('login.html', form=form, sumsg="User created!")
return render_template('signup.html', form=form)
谢谢。我的会话是否安全?我是否需要添加属于flask_security的user_datastore以保护我的会话? – user3080315
是的,这是一个很好的做法,可以使用像Flask-Security这样的众所周知的文档化基本插件,而不是重新发明轮子。 – glenfant