improve form

pull/6/head
Yax 3 years ago
parent 9c3d088584
commit 1c403ae8b3

@ -13,15 +13,10 @@ logger = logging.getLogger(__name__)
@app.route("/newcomment", methods=["POST"]) @app.route("/newcomment", methods=["POST"])
def new_form_comment(): def new_form_comment():
try:
data = request.form data = request.form
logger.info("form data " + str(data)) logger.info("form data " + str(data))
# validate token: retrieve site entity
token = data.get("token", "")
if token != app.config.get("SITE_TOKEN"):
abort(401)
# honeypot for spammers # honeypot for spammers
captcha = data.get("remarque", "") captcha = data.get("remarque", "")
if captcha: if captcha:
@ -47,20 +42,12 @@ def new_form_comment():
# add a row to Comment table # add a row to Comment table
dao.create_comment(url, author_name, author_site, author_gravatar, message) dao.create_comment(url, author_name, author_site, author_gravatar, message)
except Exception:
logger.exception("new comment failure")
abort(400)
return redirect("/redirect/", code=302) return redirect("/redirect/", code=302)
def check_form_data(d): def check_form_data(d):
fields = ["url", "message", "site", "remarque", "author", "token", "email"] fields = ["url", "message", "site", "remarque", "author", "token", "email"]
for field in fields: filtered = dict(filter(lambda x: x[0] not in fields, d.items()))
if field in d: return not filtered
del d[field]
# filtered = dict(filter(lambda x: x[0] not in fields, data.to_dict().items()))
return not d

Loading…
Cancel
Save