login_pw_change.py 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. from .tool.func import *
  2. def login_pw_change_2(conn):
  3. curs = conn.cursor()
  4. if ban_check() == 1:
  5. return re_error('/ban')
  6. ip = ip_check()
  7. if ip_or_user(ip) != 0:
  8. return redirect('/login')
  9. if flask.request.method == 'POST':
  10. now_pw = flask.request.form.get('pw4', None)
  11. new_pw = flask.request.form.get('pw2', None)
  12. re_pw = flask.request.form.get('pw3', None)
  13. if now_pw and new_pw and re_pw:
  14. if new_pw != re_pw:
  15. return re_error('/error/20')
  16. curs.execute(db_change("select pw, encode from user where id = ?"), [flask.session['id']])
  17. user = curs.fetchall()
  18. if not user:
  19. return re_error('/error/2')
  20. if pw_check(now_pw, user[0][0], user[0][1], ip) != 1:
  21. return re_error('/error/10')
  22. curs.execute(db_change("update user set pw = ? where id = ?"), [pw_encode(new_pw), ip])
  23. return redirect('/user')
  24. else:
  25. return easy_minify(flask.render_template(skin_check(),
  26. imp = [load_lang('password_change'), wiki_set(), custom(), other2([0, 0])],
  27. data = '''
  28. <form method="post">
  29. <input placeholder="''' + load_lang('now_password') + '''" name="pw4" type="password">
  30. <hr class="main_hr">
  31. <input placeholder="''' + load_lang('new_password') + '''" name="pw2" type="password">
  32. <hr class="main_hr">
  33. <input placeholder="''' + load_lang('password_confirm') + '''" name="pw3" type="password">
  34. <hr class="main_hr">
  35. <button type="submit">''' + load_lang('save') + '''</button>
  36. </form>
  37. ''',
  38. menu = [['change', load_lang('return')]]
  39. ))