check_key.py 3.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. from .tool.func import *
  2. def 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 = ['check', wiki_set(), custom(), other2([0, 0])],
  48. data = '''
  49. ''' + load_lang('id') + ' : ' + d_id + '''
  50. <br>
  51. ''' + load_lang('password') + ' : ' + pw + '''
  52. ''',
  53. menu = [['user', load_lang('return')]]
  54. ))
  55. else:
  56. return redirect('/pass_find')
  57. else:
  58. return easy_minify(flask.render_template(skin_check(),
  59. imp = ['check', wiki_set(), custom(), other2([0, 0])],
  60. data = '''
  61. <form method="post">
  62. <input placeholder="''' + load_lang('key') + '''" name="key" type="text">
  63. <hr class=\"main_hr\">
  64. <button type="submit">''' + load_lang('save') + '''</button>
  65. </form>
  66. ''',
  67. menu = [['user', load_lang('return')]]
  68. ))