login_need_email.py 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. from .tool.func import *
  2. def login_need_email_2(conn, tool):
  3. curs = conn.cursor()
  4. if flask.request.method == 'POST':
  5. if tool == 'need_email':
  6. if 'c_id' in flask.session:
  7. main_email = ['naver.com', 'gmail.com', 'daum.net', 'hanmail.net', 'hanmail2.net']
  8. data = re.search('@([^@]+)$', flask.request.form.get('email', ''))
  9. if data:
  10. data = data.groups()[0]
  11. curs.execute("select html from html_filter where html = ? and kind = 'email'", [data])
  12. if curs.fetchall() or (data in main_email):
  13. curs.execute('select id from user_set where name = "email" and data = ?', [flask.request.form.get('email', '')])
  14. if curs.fetchall():
  15. flask.session.pop('c_id', None)
  16. flask.session.pop('c_pw', None)
  17. flask.session.pop('c_key', None)
  18. return redirect('/register')
  19. else:
  20. curs.execute('select data from other where name = "email_title"')
  21. sql_d = curs.fetchall()
  22. if sql_d and sql_d[0][0] != '':
  23. t_text = html.escape(sql_d[0][0])
  24. else:
  25. t_text = wiki_set()[0] + '\'s Key'
  26. curs.execute('select data from other where name = "email_text"')
  27. sql_d = curs.fetchall()
  28. if sql_d and sql_d[0][0] != '':
  29. i_text = html.escape(sql_d[0][0]) + '\n\nKey : ' + flask.session['c_key']
  30. else:
  31. i_text = 'Key : ' + flask.session['c_key']
  32. send_email(flask.request.form.get('email', ''), t_text, i_text)
  33. flask.session['c_email'] = flask.request.form.get('email', '')
  34. return redirect('/check_key')
  35. return redirect('/register')
  36. else:
  37. curs.execute("select id from user_set where id = ? and name = 'email' and data = ?", [
  38. flask.request.form.get('id', ''),
  39. flask.request.form.get('email', '')
  40. ])
  41. if curs.fetchall():
  42. flask.session['c_key'] = ''.join(random.choice("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ") for i in range(16))
  43. flask.session['c_id'] = flask.request.form.get('id', '')
  44. curs.execute('select data from other where name = "email_title"')
  45. sql_d = curs.fetchall()
  46. if sql_d and sql_d[0][0] != '':
  47. t_text = html.escape(sql_d[0][0])
  48. else:
  49. t_text = wiki_set()[0] + '\'s Key'
  50. curs.execute('select data from other where name = "email_text"')
  51. sql_d = curs.fetchall()
  52. if sql_d and sql_d[0][0] != '':
  53. i_text = html.escape(sql_d[0][0]) + '\n\nKey : ' + flask.session['c_key']
  54. else:
  55. i_text = 'Key : ' + flask.session['c_key']
  56. send_email(flask.request.form.get('email', ''), t_text, i_text)
  57. return redirect('/check_pass_key')
  58. else:
  59. return re_error('/error/12')
  60. else:
  61. if tool == 'need_email':
  62. curs.execute('select data from other where name = "email_insert_text"')
  63. sql_d = curs.fetchall()
  64. if sql_d and sql_d[0][0] != '':
  65. b_text = sql_d[0][0] + '<hr class=\"main_hr\">'
  66. else:
  67. b_text = ''
  68. return easy_minify(flask.render_template(skin_check(),
  69. imp = [load_lang('email'), wiki_set(), custom(), other2([0, 0])],
  70. data = '''
  71. <a href="/email_filter">(''' + load_lang('email_filter_list') + ''')</a>
  72. <hr class=\"main_hr\">
  73. ''' + b_text + '''
  74. <form method="post">
  75. <input placeholder="''' + load_lang('email') + '''" name="email" type="text">
  76. <hr class=\"main_hr\">
  77. <button type="submit">''' + load_lang('save') + '''</button>
  78. </form>
  79. ''',
  80. menu = [['user', load_lang('return')]]
  81. ))
  82. else:
  83. curs.execute('select data from other where name = "password_search_text"')
  84. sql_d = curs.fetchall()
  85. if sql_d and sql_d[0][0] != '':
  86. b_text = sql_d[0][0] + '<hr class=\"main_hr\">'
  87. else:
  88. b_text = ''
  89. return easy_minify(flask.render_template(skin_check(),
  90. imp = [load_lang('password_search'), wiki_set(), custom(), other2([0, 0])],
  91. data = b_text + '''
  92. <form method="post">
  93. <input placeholder="''' + load_lang('id') + '''" name="id" type="text">
  94. <hr class=\"main_hr\">
  95. <input placeholder="''' + load_lang('email') + '''" name="email" type="text">
  96. <hr class=\"main_hr\">
  97. <button type="submit">''' + load_lang('save') + '''</button>
  98. </form>
  99. ''',
  100. menu = [['user', load_lang('return')]]
  101. ))