login_check_key.py 3.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. from .tool.func import *
  2. def login_check_key_2(conn, tool):
  3. curs = conn.cursor()
  4. if flask.request.method == 'POST':
  5. if tool == 'check_key':
  6. if 'c_id' in flask.session and flask.session['c_key'] == flask.request.form.get('key', None):
  7. curs.execute('select data from other where name = "encode"')
  8. db_data = curs.fetchall()
  9. curs.execute("select id from user limit 1")
  10. if not curs.fetchall():
  11. curs.execute("insert into user (id, pw, acl, date, encode) values (?, ?, 'owner', ?, ?)", [flask.session['c_id'], flask.session['c_pw'], get_time(), db_data[0][0]])
  12. first = 1
  13. else:
  14. curs.execute("insert into user (id, pw, acl, date, encode) values (?, ?, 'user', ?, ?)", [flask.session['c_id'], flask.session['c_pw'], get_time(), db_data[0][0]])
  15. first = 0
  16. ip = ip_check()
  17. agent = flask.request.headers.get('User-Agent')
  18. curs.execute("insert into user_set (name, id, data) values ('email', ?, ?)", [flask.session['c_id'], flask.session['c_email']])
  19. curs.execute("insert into ua_d (name, ip, ua, today, sub) values (?, ?, ?, ?, '')", [flask.session['c_id'], ip, agent, get_time()])
  20. flask.session['state'] = 1
  21. flask.session['id'] = flask.session['c_id']
  22. flask.session['head'] = ''
  23. conn.commit()
  24. flask.session.pop('c_id', None)
  25. flask.session.pop('c_pw', None)
  26. flask.session.pop('c_key', None)
  27. flask.session.pop('c_email', None)
  28. if first == 0:
  29. return redirect('/change')
  30. else:
  31. return redirect('/setting')
  32. else:
  33. flask.session.pop('c_id', None)
  34. flask.session.pop('c_pw', None)
  35. flask.session.pop('c_key', None)
  36. flask.session.pop('c_email', None)
  37. return redirect('/register')
  38. else:
  39. if 'c_id' in flask.session and flask.session['c_key'] == flask.request.form.get('key', None):
  40. hashed = pw_encode(flask.session['c_key'])
  41. curs.execute("update user set pw = ? where id = ?", [hashed, flask.session['c_id']])
  42. d_id = flask.session['c_id']
  43. pw = flask.session['c_key']
  44. flask.session.pop('c_id', None)
  45. flask.session.pop('c_key', None)
  46. return easy_minify(flask.render_template(skin_check(),
  47. imp = [load_lang('reset_user_ok'), wiki_set(), custom(), other2([0, 0])],
  48. data = '''
  49. ''' + load_lang('id') + '''
  50. <hr class=\"main_hr\">
  51. ''' + load_lang('id') + ' : ' + d_id + '''
  52. <br>
  53. ''' + load_lang('password') + ' : ' + pw + '''
  54. ''',
  55. menu = [['user', load_lang('return')]]
  56. ))
  57. else:
  58. return redirect('/pass_find')
  59. else:
  60. return easy_minify(flask.render_template(skin_check(),
  61. imp = [load_lang('key_check'), wiki_set(), custom(), other2([0, 0])],
  62. data = '''
  63. <form method="post">
  64. <input placeholder="''' + load_lang('key') + '''" name="key" type="text">
  65. <hr class=\"main_hr\">
  66. <button type="submit">''' + load_lang('save') + '''</button>
  67. </form>
  68. ''',
  69. menu = [['user', load_lang('return')]]
  70. ))