2du 5 лет назад
Родитель
Сommit
d28762c42d

+ 6 - 3
emergency_tool.py

@@ -245,7 +245,10 @@ elif what_i_do == '7':
         else:
             hashed = hashlib.sha3_256(bytes(user_pw, 'utf-8')).hexdigest()
 
-    curs.execute(db_change("update user set pw = ? where id = ?"), [hashed, user_name])
+    curs.execute(db_change("update user_set set data = ? where id = ? and name = 'pw'"), [
+        hashed, 
+        user_name
+    ])
 elif what_i_do == '8':
     print('----')
     print('Insert version (0000000) : ', end = '')
@@ -269,7 +272,7 @@ elif what_i_do == '10':
     print('New name : ', end = '')
     new_name = input()
 
-    curs.execute(db_change("update user set id = ? where id = ?"), [new_name, user_name])
+    curs.execute(db_change("update user_set set id = ? where id = ?"), [new_name, user_name])
 elif what_i_do == '11':
     try:
         os.remove('data/mysql.json')
@@ -294,7 +297,7 @@ elif what_i_do == '15':
     print('User name : ', end = '')
     user_name = input()
 
-    curs.execute(db_change("update user set acl = 'owner' where id = ?"), [user_name])
+    curs.execute(db_change("update user_set set data = 'owner' where id = ? and name = 'acl'"), [user_name])
 elif what_i_do == '16':
     print('----')
     print('User name : ', end = '')

+ 1 - 1
route/api_user_info.py

@@ -29,7 +29,7 @@ def api_user_info_2(conn, name):
             </table>
         '''
 
-        curs.execute(db_change("select acl from user where id = ?"), [name])
+        curs.execute(db_change("select data from user_set where id = ? and name = 'acl'"), [name])
         data = curs.fetchall()
         if data:
             if data[0][0] != 'user':

+ 32 - 10
route/applications.py

@@ -81,26 +81,48 @@ def applications_2(conn):
             
             application = application[0]
 
-            curs.execute(db_change("select id from user where id = ?"), [application[0]])
+            curs.execute(db_change("select id from user_set where id = ?"), [application[0]])
             if curs.fetchall():
                 return re_error('/error/6')
             
-            curs.execute(db_change("insert into user (id, pw, acl, date, encode) values (?, ?, 'user', ?, ?)"), [
-                application[0], 
-                application[1], 
-                application[2], 
+            curs.execute(db_change("insert into user_set (id, name, data) values (?, 'pw', ?)"), [
+                application[0],
+                application[1]
+            ])
+            curs.execute(db_change("insert into user_set (id, name, data) values (?, 'acl', 'user')"), [
+                application[0]
+            ])
+            curs.execute(db_change("insert into user_set (id, name, data) values (?, 'date', ?)"), [
+                application[0],
+                application[2]
+            ])
+            curs.execute(db_change("insert into user_set (id, name, data) values (?, 'encode', ?)"), [
+                application[0],
                 application[3]
             ])
-            curs.execute(db_change("insert into user_set (name, id, data) values ('approval_question', ?, ?)"), [application[0], application[4]])
-            curs.execute(db_change("insert into user_set (name, id, data) values ('approval_question_answer', ?, ?)"), [application[0], application[5]])
+            curs.execute(db_change("insert into user_set (name, id, data) values ('approval_question', ?, ?)"), [
+                application[0], 
+                application[4]
+            ])
+            curs.execute(db_change("insert into user_set (name, id, data) values ('approval_question_answer', ?, ?)"), [
+                application[0], 
+                application[5]
+            ])
             ua_plus(application[0], application[6], application[7], application[2])
             if application[8] and application[8] != '':
-                curs.execute(db_change("insert into user_set (name, id, data) values ('email', ?, ?)"), [application[0], application[8]])
+                curs.execute(db_change("insert into user_set (name, id, data) values ('email', ?, ?)"), [
+                    application[0], 
+                    application[8]
+                ])
             
-            curs.execute(db_change('delete from user_application where token = ?'), [flask.request.form.get('approve', '')])
+            curs.execute(db_change('delete from user_application where token = ?'), [
+                flask.request.form.get('approve', '')
+            ])
             conn.commit()
         elif flask.request.form.get('decline', '') != '':
-            curs.execute(db_change('delete from user_application where token = ?'), [flask.request.form.get('decline', '')])
+            curs.execute(db_change('delete from user_application where token = ?'), [
+                flask.request.form.get('decline', '')
+            ])
             conn.commit()
 
         return redirect('/applications')

+ 12 - 3
route/login.py

@@ -19,10 +19,19 @@ def login_2(conn):
         user_agent = flask.request.headers.get('User-Agent', '')
         user_id = flask.request.form.get('id', '')
 
-        curs.execute(db_change("select pw, encode from user where id = ?"), [user_id])
-        user = curs.fetchall()
-        if not user:
+        user_data = {}
+        curs.execute(db_change("" + \
+            "select name, data from user_set " + \
+            "where id = ? and (name = 'pw' or name = 'encode')" + \
+        ""), [
+            user_id
+        ])
+        sql_data = curs.fetchall()
+        if not sql_data:
             return re_error('/error/2')
+        else:
+            for i in sql_data:
+                user_data[i[0]] = i[1]
 
         pw_check_d = pw_check(
             flask.request.form.get('pw', ''),

+ 26 - 7
route/login_check_key.py

@@ -13,7 +13,10 @@ def login_check_key_2(conn, tool):
         if  'c_type' in flask.session and \
             flask.session['c_type'] == 'pass_find' and \
             flask.session['c_key'] == input_key:
-            curs.execute(db_change("update user set pw = ? where id = ?"), [pw_encode(flask.session['c_key']), flask.session['c_id']])
+            curs.execute(db_change("update user_set set data = ? where name = 'pw' and id = ?"), [
+                pw_encode(flask.session['c_key']), 
+                flask.session['c_id']
+            ])
             conn.commit()
 
             user_id = flask.session['c_id']
@@ -44,10 +47,12 @@ def login_check_key_2(conn, tool):
                 if flask.session['c_key'] == 'email_pass':
                     flask.session['c_email'] = ''
 
-                curs.execute(db_change("select id from user limit 1"))
+                curs.execute(db_change("select id from user_set limit 1"))
                 first = 1 if not curs.fetchall() else 0
 
-                curs.execute(db_change("select id from user where id = ?"), [flask.session['c_id']])
+                curs.execute(db_change("select id from user_set where id = ?"), [
+                    flask.session['c_id']
+                ])
                 if curs.fetchall():
                     for i in re_set_list:
                         flask.session.pop(i, None)
@@ -87,11 +92,25 @@ def login_check_key_2(conn, tool):
 
                     return redirect('/application_submitted')
                 else:
-                    curs.execute(db_change("insert into user (id, pw, acl, date, encode) values (?, ?, ?, ?, ?)"), [
+                    if first == 0:
+                        user_auth = 'user'
+                    else:
+                        user_auth = 'owner'
+                    
+                    curs.execute(db_change("insert into user_set (id, name, data) values (?, 'pw', ?)"), [
+                        flask.session['c_id'],
+                        flask.session['c_pw']
+                    ])
+                    curs.execute(db_change("insert into user_set (id, name, data) values (?, 'acl', ?)"), [
+                        flask.session['c_id'],
+                        user_auth
+                    ])
+                    curs.execute(db_change("insert into user_set (id, name, data) values (?, 'date', ?)"), [
+                        flask.session['c_id'],
+                        get_time()
+                    ])
+                    curs.execute(db_change("insert into user_set (id, name, data) values (?, 'encode', ?)"), [
                         flask.session['c_id'],
-                        flask.session['c_pw'],
-                        'user' if first == 0 else 'owner',
-                        get_time(),
                         db_data[0][0]
                     ])
 

+ 1 - 1
route/login_register.py

@@ -45,7 +45,7 @@ def login_register_2(conn):
         if len(user_id) > 32:
             return re_error('/error/7')
 
-        curs.execute(db_change("select id from user where id = ?"), [user_id])
+        curs.execute(db_change("select id from user_set where id = ?"), [user_id])
         if curs.fetchall():
             return re_error('/error/6')
     

+ 11 - 4
route/tool/func.py

@@ -470,7 +470,14 @@ def pw_check(data, data2, type_d = 'no', id_d = ''):
 
     re_data = 1 if pw_encode(data, set_data) == data2 else 0
     if db_data[0][0] != set_data and re_data == 1 and id_d != '':
-        curs.execute(db_change("update user set pw = ?, encode = ? where id = ?"), [pw_encode(data), db_data[0][0], id_d])
+        curs.execute(db_change("update user_set set data = ? where id = ? and name = 'pw'"), [
+            pw_encode(data), 
+            id_d
+        ])
+        curs.execute(db_change("update user_set set data = ? where id = ? and name = 'encode'"), [
+            db_data[0][0], 
+            id_d
+        ])
 
     return re_data
         
@@ -665,7 +672,7 @@ def wiki_custom():
             user_admin = '1'
             user_acl_list = []
 
-            curs.execute(db_change("select acl from user where id = ?"), [ip])
+            curs.execute(db_change("select data from user_set where id = ? and name = 'acl'"), [ip])
             curs.execute(db_change('select acl from alist where name = ?'), [curs.fetchall()[0][0]])
             user_acl = curs.fetchall()
             for i in user_acl:
@@ -878,7 +885,7 @@ def admin_check(num = None, what = None, name = ''):
     ip = ip_check() if name == '' else name
     time_data = get_time()
 
-    curs.execute(db_change("select acl from user where id = ?"), [ip])
+    curs.execute(db_change("select data from user_set where id = ? and name = 'acl'"), [ip])
     user = curs.fetchall()
     if user:
         back_num = num
@@ -1047,7 +1054,7 @@ def acl_check(name = 'test', tool = '', topic_num = '1'):
                     if admin_check(num) == 1:
                         return 0
                     else:
-                        curs.execute(db_change("select date from user where id = ?"), [ip])
+                        curs.execute(db_change("select data from user_set where id = ? and name = 'date'"), [ip])
                         user_date = curs.fetchall()[0][0]
                         
                         time_1 = datetime.datetime.strptime(user_date, '%Y-%m-%d %H:%M:%S') + datetime.timedelta(days = 30)

+ 1 - 1
route/topic.py

@@ -52,7 +52,7 @@ def topic_2(conn, topic_num):
                     if u_data:
                         y_check = 1
             else:
-                curs.execute(db_change("select id from user where id = ?"), [match])
+                curs.execute(db_change("select id from user_set where id = ?"), [match])
                 u_data = curs.fetchall()
                 if u_data:
                     y_check = 1

+ 1 - 1
route/user_setting.py

@@ -23,7 +23,7 @@ def user_setting_2(conn, server_init):
                 twofa_pw = flask.request.form.get('2fa_pw', '')
                 if twofa_pw != '':
                     twofa_pw = pw_encode(twofa_pw)
-                    curs.execute(db_change("select encode from user where id = ?"), [ip])
+                    curs.execute(db_change("select data from user_set where id = ? and name = 'encode'"), [ip])
                     twofa_encode = curs.fetchall()[0][0]
                     auto_list += [['2fa', 'on'], ['2fa_pw', twofa_pw], ['2fa_pw_encode', twofa_encode]]
                 else: