Flask-login doc dice che dovremmo convalidare successiva utilizzando next_is_valid()
, ma non riesco a trovare un tale metodo:next_is_valid() non esiste in flask-login?
Warning: You MUST validate the value of the next parameter. If you do not, your application will be vulnerable to open redirects.
@app.route('/login', methods=['GET', 'POST'])
def login():
# Here we use a class of some kind to represent and validate our
# client-side form data. For example, WTForms is a library that will
# handle this for us.
form = LoginForm()
if form.validate_on_submit():
# Login and validate the user.
login_user(user)
flask.flash('Logged in successfully.')
next = flask.request.args.get('next')
if not next_is_valid(next):
return flask.abort(400)
return flask.redirect(next or flask.url_for('index'))
return flask.render_template('login.html', form=form)
L'esecuzione di questo ottengo l'errore:
NameError: global name 'next_is_valid' is not defined
E se lo faccio:
from flask.ext.login import next_is_valid
>> ImportError: cannot import name next_is_valid
Dove si trova loFunzionee, se non esiste, come convalidare il parametro next
?
Non dice che devi convalidare 'next' con' next_is_valid'. Questa è solo una funzione di esempio; hai ragione, non esiste. Devi decidere se 'next' se valido in base ai tuoi criteri. 'next' è l'url per reindirizzare su un login riuscito. Spero che questo aiuti alcuni. – bnjmn
@bnjmn questo dovrebbe essere aggiunto come risposta Penso con alcuni riferimenti;) –