login_check_key.py 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  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', ?, ?)", [
  12. flask.session['c_id'],
  13. flask.session['c_pw'],
  14. get_time(),
  15. db_data[0][0]
  16. ])
  17. first = 1
  18. else:
  19. curs.execute("insert into user (id, pw, acl, date, encode) values (?, ?, 'user', ?, ?)", [
  20. flask.session['c_id'],
  21. flask.session['c_pw'],
  22. get_time(),
  23. db_data[0][0]
  24. ])
  25. first = 0
  26. ip = ip_check()
  27. agent = flask.request.headers.get('User-Agent')
  28. curs.execute("insert into user_set (name, id, data) values ('email', ?, ?)", [
  29. flask.session['c_id'],
  30. flask.session['c_email']
  31. ])
  32. curs.execute("insert into ua_d (name, ip, ua, today, sub) values (?, ?, ?, ?, '')", [
  33. flask.session['c_id'],
  34. ip,
  35. agent,
  36. get_time()]
  37. )
  38. flask.session['state'] = 1
  39. flask.session['id'] = flask.session['c_id']
  40. flask.session['head'] = ''
  41. conn.commit()
  42. flask.session.pop('c_id', None)
  43. flask.session.pop('c_pw', None)
  44. flask.session.pop('c_key', None)
  45. flask.session.pop('c_email', None)
  46. if first == 0:
  47. return redirect('/change')
  48. else:
  49. return redirect('/setting')
  50. else:
  51. flask.session.pop('c_id', None)
  52. flask.session.pop('c_pw', None)
  53. flask.session.pop('c_key', None)
  54. flask.session.pop('c_email', None)
  55. return redirect('/register')
  56. else:
  57. if 'c_id' in flask.session and flask.session['c_key'] == flask.request.form.get('key', None):
  58. hashed = pw_encode(flask.session['c_key'])
  59. curs.execute("update user set pw = ? where id = ?", [hashed, flask.session['c_id']])
  60. d_id = flask.session['c_id']
  61. pw = flask.session['c_key']
  62. flask.session.pop('c_id', None)
  63. flask.session.pop('c_key', None)
  64. curs.execute('select data from other where name = "reset_user_text"')
  65. sql_d = curs.fetchall()
  66. if sql_d and sql_d[0][0] != '':
  67. b_text = sql_d[0][0] + '<hr class=\"main_hr\">'
  68. else:
  69. b_text = ''
  70. return easy_minify(flask.render_template(skin_check(),
  71. imp = [load_lang('reset_user_ok'), wiki_set(), custom(), other2([0, 0])],
  72. data = b_text + load_lang('id') + ' : ' + d_id + '<br>' + load_lang('password') + ' : ' + pw,
  73. menu = [['user', load_lang('return')]]
  74. ))
  75. else:
  76. return redirect('/pass_find')
  77. else:
  78. curs.execute('select data from other where name = "check_key_text"')
  79. sql_d = curs.fetchall()
  80. if sql_d and sql_d[0][0] != '':
  81. b_text = sql_d[0][0] + '<hr class=\"main_hr\">'
  82. else:
  83. b_text = ''
  84. return easy_minify(flask.render_template(skin_check(),
  85. imp = [load_lang('check_key'), wiki_set(), custom(), other2([0, 0])],
  86. data = '''
  87. <form method="post">
  88. ''' + b_text + '''
  89. <input placeholder="''' + load_lang('key') + '''" name="key" type="text">
  90. <hr class=\"main_hr\">
  91. <button type="submit">''' + load_lang('save') + '''</button>
  92. </form>
  93. ''',
  94. menu = [['user', load_lang('return')]]
  95. ))