2DU 8 лет назад
Родитель
Сommit
60b0e3c187
1 измененных файлов с 42 добавлено и 4 удалено
  1. 42 4
      app.py

+ 42 - 4
app.py

@@ -1613,6 +1613,7 @@ def manager(num = 1):
                                         '== 목록 ==\r\n' + \
                                         ' * [[wiki:manager/2|문서 ACL]]\r\n' + \
                                         ' * [[wiki:manager/3|사용자 검사]]\r\n' + \
+                                        ' * [[wiki:manager/10|사용자 비교]]\r\n' + \
                                         ' * [[wiki:manager/4|사용자 차단]]\r\n' + \
                                         ' * [[wiki:manager/5|권한 주기]]\r\n' + \
                                         ' * [[wiki:m_del|여러 문서 삭제]]\r\n' + \
@@ -1772,6 +1773,27 @@ def manager(num = 1):
                     )
                 )
             )
+    elif(num == 10):
+        if(request.method == 'POST'):
+            return(redirect('/check/' + url_pas(request.forms.name) + '/' + url_pas(request.forms.name2)))
+        else:
+            return(
+                html_minify(
+                    template('index', 
+                        imp = ['검사 이동', wiki_set(1), wiki_set(3), login_check(), custom_css(), custom_js(), 0, 0],
+                        data = '<form method="post"> \
+                                    <input placeholder="사용자명" name="name" type="text"> \
+                                    <br> \
+                                    <br> \
+                                    <input placeholder="비교 대상" name="name2" type="text"> \
+                                    <br> \
+                                    <br> \
+                                    <button class="btn btn-primary" type="submit">이동</button> \
+                                </form>',
+                        menu = [['manager', '관리자']]
+                    )
+                )
+            )
     else:
         return(redirect('/'))
 
@@ -2456,14 +2478,26 @@ def change_password():
         )
                 
 @route('/check/<name:path>')
-def user_check(name = None):
-    curs.execute("select acl from user where id = ?", [name])
+@route('/check/<name:path>/<name2:path>')
+def user_check(name = None, name2 = None):
+    curs.execute("select acl from user where id = ? or id = ?", [name, name2])
     user = curs.fetchall()
     if(user and user[0][0] != 'user'):
         return(redirect('/error/4'))
 
     if(admin_check(4, 'check (' + name + ')') == 1):
-        if(re.search('^(?:[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}?)$', name)):
+        if(name2):
+            if(re.search('(?:\.|:)', name)):
+                if(re.search('(?:\.|:)', name2)):
+                    curs.execute("select name, ip, ua, today from ua_d where ip = ? or ip = ? order by today desc", [name, name2])
+                else:
+                    curs.execute("select name, ip, ua, today from ua_d where ip = ? or name = ? order by today desc", [name, name2])
+            else:
+                if(re.search('(?:\.|:)', name2)):
+                    curs.execute("select name, ip, ua, today from ua_d where name = ? or ip = ? order by today desc", [name, name2])
+                else:
+                    curs.execute("select name, ip, ua, today from ua_d where name = ? or name = ? order by today desc", [name, name2])
+        elif(re.search('(?:\.|:)', name)):
             curs.execute("select name, ip, ua, today from ua_d where ip = ? order by today desc", [name])
         else:
             curs.execute("select name, ip, ua, today from ua_d where name = ? order by today desc", [name])
@@ -2478,12 +2512,16 @@ def user_check(name = None):
                         </tr>'
 
             for data in row:
+                if(data[2]):
+                    ua = data[2]
+                else:
+                    ua = '<br>'
                 c +=    '<tr> \
                             <td>' + ip_pas(data[0], 2) + '</td> \
                             <td>' + ip_pas(data[1], 2) + '</td> \
                             <td>' + data[3] + '</td> \
                         </tr> \
-                        <tr><td colspan="3">' + data[2] + '</td></tr>'
+                        <tr><td colspan="3">' + ua + '</td></tr>'
             else:
                 c +=        '</tbody> \
                         </table>'