<?php
// ========== 只改这里为你自己的信息 ==========
$dbhost = 'localhost';
$dbuser = 'fengkong';     //你的数据库用户名
$dbpwd  = 'Li323323.';//填你自己设置的数据库明文密码
$dbname = 'fengkong';     //你的数据库名称
// ===========================================

// 生成唯一设备指纹
$ip = $_SERVER['REMOTE_ADDR'];
$ua = $_SERVER['HTTP_USER_AGENT'] ?? '';
$ref = $_SERVER['HTTP_REFERER'] ?? '';
$acc = $_SERVER['HTTP_ACCEPT'] ?? '';
$devSign = md5($ip . $ua . $ref . $acc);

// 识别页面刷新
$isRefresh = !empty($_SERVER['HTTP_CACHE_CONTROL']) || !empty($_SERVER['HTTP_PRAGMA']);

// 连接数据库
$conn = new mysqli($dbhost, $dbuser, $dbpwd, $dbname);
if($conn->connect_error){
    // 连接失败直接正常显示静态页，不崩站
    require './index.html';
    exit;
}
$conn->set_charset("utf8mb4");

// 查询当前设备等级
$sql = "SELECT risk_level FROM device_risk_log WHERE dev_sign = ? LIMIT 1";
$stmt = $conn->prepare($sql);
$stmt->bind_param("s", $devSign);
$stmt->execute();
$res = $stmt->get_result();

if($res->num_rows === 0){
    // 全新陌生设备，标记2级（新设备直出验证码）
    $level = 2;
    $ins = $conn->prepare("INSERT INTO device_risk_log (dev_sign,risk_level,total_visit) VALUES (?,2,1)");
    $ins->bind_param("s",$devSign);
    $ins->execute();
}else{
    $row = $res->fetch_assoc();
    $level = intval($row['risk_level']);
    // 更新访问次数和时间
    $up = $conn->prepare("UPDATE device_risk_log SET total_visit = total_visit+1, last_visit_time = NOW() WHERE dev_sign = ?");
    $up->bind_param("s",$devSign);
    $up->execute();
    // 来过一次后，自动降级为1级老设备
    if($level === 2){
        $conn->query("UPDATE device_risk_log SET risk_level = 1 WHERE dev_sign = '$devSign'");
        $level = 1;
    }
}

// 把设备等级传给Nginx
header("X-Dev-Risk:".$level);

// 正常输出静态首页，前端完全看不出是PHP
require './index.html';
$conn->close();
?>