From 8b91e5a7895219136ecb04f32b7b297ae2d20195 Mon Sep 17 00:00:00 2001 From: kaku Date: Fri, 5 Jul 2024 23:20:12 +0800 Subject: [PATCH] =?UTF-8?q?updata:=E6=9B=B4=E6=96=B0=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E5=92=8C=E8=A1=A8=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app_control.sh | 158 +++++++++++++++++++++--------------------- conf/app.ini | 6 +- db/fz_data.py | 35 ++++++---- fz_data.sql | 24 ++++--- templates/fz.html | 51 -------------- templates/log.html | 22 ++++++ templates/tables.html | 24 ++++--- web/page.py | 12 ++-- 8 files changed, 159 insertions(+), 173 deletions(-) delete mode 100644 templates/fz.html create mode 100644 templates/log.html diff --git a/app_control.sh b/app_control.sh index 3e00f99..acf789a 100644 --- a/app_control.sh +++ b/app_control.sh @@ -1,79 +1,79 @@ -#!/bin/bash - -VENV_DIR=".venv" -PYTHON_APP="main.py" -LOG_FILE="output.log" -PID_FILE="app.pid" - -start_app() { - if [ ! -d "$VENV_DIR" ]; then - echo -e "\033[31m Virtual environment directory $VENV_DIR not found! \033[0m" - exit 1 - fi - - if [ ! -f "$PYTHON_APP" ]; then - echo -e "\033[31m Python application $PYTHON_APP not found! \033[0m" - exit 1 - fi - - source "$VENV_DIR/bin/activate" - nohup python3 "$PYTHON_APP" > "$LOG_FILE" 2>&1 & - echo $! > "$PID_FILE" - echo -e "\033[32m Application started! \033[0m" -} - -stop_app() { - if [ ! -f "$PID_FILE" ]; then - echo -e "\033[31m PID file not found! \033[0m" - exit 1 - fi - - pid=$(cat "$PID_FILE") - if [ -n "$pid" ] && kill -0 "$pid" 2>/dev/null; then - kill "$pid" - rm "$PID_FILE" - echo -e "\033[32m Application ended! \033[0m" - else - echo -e "\033[31m Application not running or PID not found! \033[0m" - fi -} - -check_app_status() { - if [ ! -f "$PID_FILE" ]; then - echo -e "\033[31m Application not running! \033[0m" - exit 1 - fi - - pid=$(cat "$PID_FILE") - if [ -n "$pid" ] && kill -0 "$pid" 2>/dev/null; then - echo -e "PID: $pid" - echo -e "\033[32m Application running! \033[0m" - else - echo -e "\033[31m Application not running! \033[0m" - fi -} - -restart_app() { - stop_app - start_app - echo -e "\033[32m Application restarted! \033[0m" -} - -case "$1" in - start) - start_app - ;; - stop) - stop_app - ;; - status) - check_app_status - ;; - restart) - restart_app - ;; - *) - echo -e "\033[33m Usage: $0 {start|stop|status|restart} \033[0m" - exit 1 - ;; -esac +#!/bin/bash + +VENV_DIR=".venv" +PYTHON_APP="main.py" +LOG_FILE="output.log" +PID_FILE="app.pid" + +start_app() { + if [ ! -d "$VENV_DIR" ]; then + echo -e "\033[31m Virtual environment directory $VENV_DIR not found! \033[0m" + exit 1 + fi + + if [ ! -f "$PYTHON_APP" ]; then + echo -e "\033[31m Python application $PYTHON_APP not found! \033[0m" + exit 1 + fi + + source "$VENV_DIR/bin/activate" + nohup python3 "$PYTHON_APP" > "$LOG_FILE" 2>&1 & + echo $! > "$PID_FILE" + echo -e "\033[32m Application started! \033[0m" +} + +stop_app() { + if [ ! -f "$PID_FILE" ]; then + echo -e "\033[31m PID file not found! \033[0m" + exit 1 + fi + + pid=$(cat "$PID_FILE") + if [ -n "$pid" ] && kill -0 "$pid" 2>/dev/null; then + kill "$pid" + rm "$PID_FILE" + echo -e "\033[32m Application ended! \033[0m" + else + echo -e "\033[31m Application not running or PID not found! \033[0m" + fi +} + +check_app_status() { + if [ ! -f "$PID_FILE" ]; then + echo -e "\033[31m Application not running! \033[0m" + exit 1 + fi + + pid=$(cat "$PID_FILE") + if [ -n "$pid" ] && kill -0 "$pid" 2>/dev/null; then + echo -e "PID: $pid" + echo -e "\033[32m Application running! \033[0m" + else + echo -e "\033[31m Application not running! \033[0m" + fi +} + +restart_app() { + stop_app + start_app + echo -e "\033[32m Application restarted! \033[0m" +} + +case "$1" in + start) + start_app + ;; + stop) + stop_app + ;; + status) + check_app_status + ;; + restart) + restart_app + ;; + *) + echo -e "\033[33m Usage: $0 {start|stop|status|restart} \033[0m" + exit 1 + ;; +esac diff --git a/conf/app.ini b/conf/app.ini index 7d59260..93ce4b2 100644 --- a/conf/app.ini +++ b/conf/app.ini @@ -5,11 +5,11 @@ host=0.0.0.0 threaded=1 [database] -host=127.0.0.1 +host=172.16.0.4 port=3306 user=root -password=password +password=123456 database=fz_data [RSA] -key= \ No newline at end of file +key=MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAN132X+pP8D0m/if/TzcPdhpHD+4xtjW0wgkhMZh+72FJAJ35CWMbMm71bDyTq370lVvy+Eahbm2fAMPy3hIJisWuTlQ8bqscRSxyUNoVVt30qSI2Rb/uNYc79Sm6rwWdLj+mgFBKJgqmH4UHHoc17SjXIDmaW5VMVHjpiMYkRvDAgMBAAECgYBFs+tZ8RhWMAaI7T3EMmMqogZYjdzTsWUw6mF5mKwlHWrUdgxxvu0cXwhmDRUzUA8Ggc2utuzAow0L36Q/4qFUF2x99okk3ACcJsLcVm3+Ou7fhu5jtq2G7VW2J3aIIxzNs85ZsdGRBb9leZ4OVgbBGIj//GqlRiGKhR8qZma9sQJBAPgC2nHO4sNowDTIE558uPe0jh9hgdZysFUpL3FKIlbibGHQ7D/QFUcYbYqBlYbm2WluVIKF0TL2OqteKzBdbHMCQQDkmh4r7d+lmLhhr/j+200bIeLIoytHwMNOJodCUMU3gg4m0PHOEMhZsXu6EgqLXYierV/JPMxnlK93W90BQI9xAkBqTfbKD26dabnxJc1bAoTaD/dXNhlMDS7N4fBm8+rSKQ1hxAZvt8ZXCf5x/udTwoFwMo1gwPERkf9F0wBaI8FHAkALZxicLlhahTylOsbbx4qYEN+kDGeLQ7U6P7e9ehPsSeN00jVNhw7HUpAOXvoBq5+18oX1nr+/Zu49sOpcNqExAkEA6uKRPmM4rsJVtXotC1gZJsYTrGlVtY3smKG2wWE/xsw0nqAaw/MdsOkrxpNxKa0IDSOtubtyD0PIQgC2HGT4kw== \ No newline at end of file diff --git a/db/fz_data.py b/db/fz_data.py index 35b871c..34e0be6 100644 --- a/db/fz_data.py +++ b/db/fz_data.py @@ -19,9 +19,9 @@ def saveFzData(data) -> bool: sql = """ INSERT INTO table_zhapian VALUES ( - %(uuid)s,%(callednm)s,%(zptype)s,%(zpfeatures)s,%(early_warning_time)s, - %(warninglevel)s,%(zpcallernm)s,%(talktime)s,%(auth_code)s,%(student_number)s, - %(transfer_amout)s,%(url_or_app_name)s,%(zp_account)s + %(uuid)s,%(callednm)s,%(isPushZkj)s,%(called_city_name)s,%(called_province_name)s,%(called_location_county)s, + %(insert_time)s,%(warninglevel)s,%(zpfeatures)s,%(url)s,%(data_source)s,%(url_or_app_name)s, + %(called_location_province)s,%(pushZkjTime)s,%(zp_ip_address)s,%(first_login_time)s,%(called_location_city)s ); """ conn = getConn() @@ -29,21 +29,26 @@ def saveFzData(data) -> bool: try: for message in data: message.setdefault("uuid",None) - message.setdefault("callednm",None) - message.setdefault("zptype",None) - message.setdefault("zpfeatures",None) - message.setdefault("early_warning_time",None) + message.setdefault("isPushZkj",None) + message.setdefault("called_city_name",None) + message.setdefault("called_province_name",None) + message.setdefault("called_location_county",None) + message.setdefault("insert_time",None) message.setdefault("warninglevel",None) - message.setdefault("zpcallernm",None) - message.setdefault("talktime",None) - message.setdefault("auth_code",None) - message.setdefault("student_number",None) - message.setdefault("transfer_amout",None) + message.setdefault("zpfeatures",None) + message.setdefault("url",None) + message.setdefault("data_source",None) message.setdefault("url_or_app_name",None) - message.setdefault("zp_account",None) + message.setdefault("called_location_province",None) + message.setdefault("pushZkjTime",None) + message.setdefault("zp_ip_address",None) + message.setdefault("first_login_time",None) + message.setdefault("called_location_city",None) + print("已保存",message.get("uuid")) cursor.execute(sql,message) conn.commit() - except: + except Exception as e: + print(e) return False conn.close() return True @@ -51,7 +56,7 @@ def saveFzData(data) -> bool: def LoadFzData(): "从数据库读取数据" sql = """ - SELECT * FROM `table_zhapian` ORDER BY `early_warning_time` DESC LIMIT 0,1000; + SELECT * FROM `table_zhapian` ORDER BY `insert_time` DESC LIMIT 0,1000; """ conn = getConn() cursor = conn.cursor() diff --git a/fz_data.sql b/fz_data.sql index 2833e62..01267df 100644 --- a/fz_data.sql +++ b/fz_data.sql @@ -11,7 +11,7 @@ Target Server Version : 101106 (10.11.6-MariaDB-0+deb12u1) File Encoding : 65001 - Date: 23/05/2024 10:53:04 + Date: 05/07/2024 23:19:08 */ SET NAMES utf8mb4; @@ -34,17 +34,21 @@ DROP TABLE IF EXISTS `table_zhapian`; CREATE TABLE `table_zhapian` ( `uuid` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, `callednm` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `zptype` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `zpfeatures` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `early_warning_time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, `warninglevel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `zpcallernm` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `talktime` int(11) NULL DEFAULT NULL, - `auth_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `student_number` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `transfer_amout` float NULL DEFAULT NULL, + `isPushZkj` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `called_city_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `called_province_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `called_location_county` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `insert_time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `zpfeatures` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `data_source` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, `url_or_app_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `zp_account` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `called_location_province` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `pushZkjTime` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `zp_ip_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `first_login_time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `called_location_city` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, PRIMARY KEY (`uuid`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; diff --git a/templates/fz.html b/templates/fz.html deleted file mode 100644 index 2565458..0000000 --- a/templates/fz.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - 反诈预警平台 - - - -

诈骗信息

- - - - - - - - - - - - - - - - - - - - {% for item in data %} - - {% for v in item %} - {% if v == None %} - - {% else %} - - {% endif %} - {% endfor %} - - {% endfor %} - -
UUID受害人号码诈骗方式诈骗类型预警时间预警等级APP/URL名称诈骗电话通话时长诈骗人账号转账金额机构授权码学号
-{{v}}
- - - \ No newline at end of file diff --git a/templates/log.html b/templates/log.html new file mode 100644 index 0000000..9c9e857 --- /dev/null +++ b/templates/log.html @@ -0,0 +1,22 @@ + + + + + + + + + + + + 反诈预警平台 + + + +

日志

+ {% for i in data %} +

{{i}}

+ {% endfor %} + + + \ No newline at end of file diff --git a/templates/tables.html b/templates/tables.html index 5423e35..c93b15a 100644 --- a/templates/tables.html +++ b/templates/tables.html @@ -100,18 +100,22 @@ UUID - 受害人号码 - 诈骗方式 - 诈骗类型 - 预警时间 + 被叫号码 + isPushZkj + 报警城市 + 报警省份 + 报警本地 区/县 + 插入时间 预警等级 + 诈骗类型 + URL + 数据源 APP/URL名称 - 诈骗电话 - 通话时长 - 诈骗人账号 - 转账金额 - 机构授权码 - 学号 + 报警本地省份 + 推送时间 + 诈骗IP地址 + 首次登录时间 + 报警本地城市 diff --git a/web/page.py b/web/page.py index 018b07a..68bbb05 100644 --- a/web/page.py +++ b/web/page.py @@ -17,10 +17,12 @@ def showTable(): data = db.fz_data.LoadFzData() return render_template("tables.html", data=data) -@page_bp.route("/fz", methods=["GET"]) -def fz(): - data = db.fz_data.LoadFzData() - return render_template("fz.html", data=data) +@page_bp.route("/log", methods=["GET"]) +def log(): + if request.cookies.get("user") == None: + return redirect("/login") + file = open("output.log","r").readlines()[::-1] + return render_template("log.html", data=file) @page_bp.route("/", methods=["GET"]) def index(): @@ -30,7 +32,7 @@ def index(): total[0] = db.fz_data.total() data = db.fz_data.LoadFzData() for i in data: - w_time = time.mktime(time.strptime(i[4], "%Y-%m-%d %H:%M:%S")) + w_time = time.mktime(time.strptime(i[15], "%Y-%m-%d %H:%M:%S")) nowtime = time.time() if w_time + 60 * 60 * 24 * 7 > nowtime: total[1] += 1