我在燒瓶中進行了以下登錄。現在我想知道它是否安全。如果不是,我還需要添加什麼才能提高成熟度。我知道像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