잉여개발기 (SPDV) 5 anni fa
parent
commit
a88aa2c926
3 ha cambiato i file con 36 aggiunte e 30 eliminazioni
  1. 13 12
      route/login_2fa.py
  2. 22 17
      route/user_setting.py
  3. 1 1
      version.json

+ 13 - 12
route/login_2fa.py

@@ -23,19 +23,20 @@ def login_2fa_2(conn):
         user_id = flask.session['b_id']
 
         curs.execute(db_change('select data from user_set where name = "2fa_pw" and id = ?'), [user_id])
-        user_1 = curs.fetchall()[0][0]
+        user_1 = curs.fetchall()
+        if user_1:
+            curs.execute(db_change('select data from user_set where name = "2fa_pw_encode" and id = ?'), [user_id])
+            user_1 = user_1[0][0]
+            user_2 = curs.fetchall()[0][0]
 
-        curs.execute(db_change('select data from user_set where name = "2fa_pw_encode" and id = ?'), [user_id])
-        user_2 = curs.fetchall()[0][0]
-
-        pw_check_d = pw_check(
-            flask.request.form.get('pw', ''),
-            user_1,
-            user_2,
-            user_id
-        )
-        if pw_check_d != 1:
-            return re_error('/error/10')
+            pw_check_d = pw_check(
+                flask.request.form.get('pw', ''),
+                user_1,
+                user_2,
+                user_id
+            )
+            if pw_check_d != 1:
+                return re_error('/error/10')
 
         flask.session['head'] = flask.session['b_head']
         flask.session['id'] = user_id

+ 22 - 17
route/user_setting.py

@@ -11,25 +11,30 @@ def user_setting_2(conn, server_init):
 
     if ip_or_user(ip) == 0:
         if flask.request.method == 'POST':
-            auto_list = ['skin', 'lang', '2fa', '2fa_pw', '2fa_pw_encode']
-            pass_list = ['2fa', '2fa_pw_encode']
+            pass_list = ['2fa']
+            auto_list = ['skin', 'lang'] + pass_list + ['2fa_pw', '2fa_pw_encode']
 
             for auto_data in auto_list:
-                if auto_data in pass_list or flask.request.form.get(auto_data, '') != '':
-                    if auto_data != '2fa_pw_encode' or flask.request.form.get('2fa_pw', '') != '':
-                        if auto_data == '2fa_pw':
-                            get_data = pw_encode(flask.request.form.get(auto_data, ''))
-                        elif auto_data == '2fa_pw_encode':
-                            curs.execute(db_change("select encode from user where id = ?"), [ip])
-                            get_data = curs.fetchall()[0][0]
-                        else:
-                            get_data = flask.request.form.get(auto_data, '')
-                        
-                        curs.execute(db_change('select data from user_set where name = ? and id = ?'), [auto_data, ip])
-                        if curs.fetchall():
-                            curs.execute(db_change("update user_set set data = ? where name = ? and id = ?"), [get_data, auto_data, ip])
-                        else:
-                            curs.execute(db_change("insert into user_set (name, id, data) values (?, ?, ?)"), [auto_data, ip, get_data])
+                if auto_data == '2fa_pw':
+                    if flask.request.form.get('2fa_pw', '') != '':
+                        get_data = pw_encode(flask.request.form.get(auto_data, ''))
+                    else:
+                        get_data = ''
+                elif auto_data == '2fa_pw_encode':
+                    if flask.request.form.get('2fa_pw', '') != '':
+                        curs.execute(db_change("select encode from user where id = ?"), [ip])
+                        get_data = curs.fetchall()[0][0]
+                    else:
+                        get_data = ''
+                else:
+                    get_data = flask.request.form.get(auto_data, '')
+
+                if auto_data in pass_list or get_data != '':
+                    curs.execute(db_change('select data from user_set where name = ? and id = ?'), [auto_data, ip])
+                    if curs.fetchall():
+                        curs.execute(db_change("update user_set set data = ? where name = ? and id = ?"), [get_data, auto_data, ip])
+                    else:
+                        curs.execute(db_change("insert into user_set (name, id, data) values (?, ?, ?)"), [auto_data, ip, get_data])
 
             conn.commit()
 

+ 1 - 1
version.json

@@ -1,6 +1,6 @@
 {
     "master" : {
-        "r_ver" : "v3.2.0-master-21 (v3.2.0-dev-20200806-01)",
+        "r_ver" : "v3.2.0-master-21 (v3.2.0-dev-20200806-02)",
         "c_ver" : "3201601",
         "s_ver" : "9"
     }, "stable" : {