Update app.py
Browse files
app.py
CHANGED
|
@@ -101,7 +101,12 @@ def check_anomaly(ip, action, log_time, overall_w, time_w, ip_w, dev_w):
|
|
| 101 |
return "⚠️異常_作息或行為不符"
|
| 102 |
|
| 103 |
return "success"
|
|
|
|
|
|
|
|
|
|
|
|
|
| 104 |
except Exception as e:
|
|
|
|
| 105 |
return f"⚠️系統錯誤: {str(e)}"
|
| 106 |
|
| 107 |
def record_log(ip, cookie, account, role, action, status, time_mode, custom_time, ow, tw, iw, dw):
|
|
@@ -264,7 +269,6 @@ with gr.Blocks(title="模擬校園入口與資安防護系統", css=custom_css)
|
|
| 264 |
with gr.Accordion("▼ HDBSCAN 異常辨識自動化測試區", open=True, elem_classes="weight-card"):
|
| 265 |
gr.Markdown("<span style='color:gray; font-size:0.9em;'>點擊按鈕將直接以指定時間點執行該系統的操作,結果將顯示於左側 Log 區。</span>")
|
| 266 |
|
| 267 |
-
# 🌟 按鈕文字已更新為最新測試時間 🌟
|
| 268 |
gr.Markdown("#### 1. 選課相關系統 (具備強烈季節性)")
|
| 269 |
with gr.Row():
|
| 270 |
t_pre_sel_norm = gr.Button("✅ 正常: 期末網路預選系統 (06-13 11:00)", size="sm")
|
|
@@ -347,7 +351,6 @@ with gr.Blocks(title="模擬校園入口與資安防護系統", css=custom_css)
|
|
| 347 |
outputs=[log_display]
|
| 348 |
)
|
| 349 |
|
| 350 |
-
# 🌟 內部參數 Mapping 已更新為最新測試時間 🌟
|
| 351 |
test_mapping = [
|
| 352 |
(t_pre_sel_norm, "click_pre_select_system", "2026-06-13 11:00:00"),
|
| 353 |
(t_pre_sel_anom, "click_pre_select_system", "2026-10-15 13:00:00"),
|
|
|
|
| 101 |
return "⚠️異常_作息或行為不符"
|
| 102 |
|
| 103 |
return "success"
|
| 104 |
+
# 🌟 關鍵修改位置:分層捕捉錯誤
|
| 105 |
+
except ValueError:
|
| 106 |
+
# 當 LabelEncoder 遇到從未見過的 IP 或是操作行為,會觸發 ValueError
|
| 107 |
+
return "⚠️異常_未知特徵 (出現未授權的 IP 或操作)"
|
| 108 |
except Exception as e:
|
| 109 |
+
# 其他不可預期的錯誤,才顯示為系統錯誤
|
| 110 |
return f"⚠️系統錯誤: {str(e)}"
|
| 111 |
|
| 112 |
def record_log(ip, cookie, account, role, action, status, time_mode, custom_time, ow, tw, iw, dw):
|
|
|
|
| 269 |
with gr.Accordion("▼ HDBSCAN 異常辨識自動化測試區", open=True, elem_classes="weight-card"):
|
| 270 |
gr.Markdown("<span style='color:gray; font-size:0.9em;'>點擊按鈕將直接以指定時間點執行該系統的操作,結果將顯示於左側 Log 區。</span>")
|
| 271 |
|
|
|
|
| 272 |
gr.Markdown("#### 1. 選課相關系統 (具備強烈季節性)")
|
| 273 |
with gr.Row():
|
| 274 |
t_pre_sel_norm = gr.Button("✅ 正常: 期末網路預選系統 (06-13 11:00)", size="sm")
|
|
|
|
| 351 |
outputs=[log_display]
|
| 352 |
)
|
| 353 |
|
|
|
|
| 354 |
test_mapping = [
|
| 355 |
(t_pre_sel_norm, "click_pre_select_system", "2026-06-13 11:00:00"),
|
| 356 |
(t_pre_sel_anom, "click_pre_select_system", "2026-10-15 13:00:00"),
|