<?php
session_start(); // 启动会话

// 限制的请求数量和时间间隔
$maxRequests = 10;
$timeInterval = 600; // 10分钟

function checkRequestLimit() {
    global $maxRequests, $timeInterval;
    
    // 获取客户端IP地址
    $ip = $_SERVER['REMOTE_ADDR'];
    
    // 检查是否存在会话并且已经存储了请求计数器和时间戳
    if (isset($_SESSION['request_count']) && isset($_SESSION['last_request_time'])) {
        $requestCount = $_SESSION['request_count'];
        $lastRequestTime = $_SESSION['last_request_time'];
        
        // 检查请求计数器是否达到限制的请求数量
        if ($requestCount >= $maxRequests) {
            return false;
        }
        
        // 检查上一次请求的时间间隔
        $interval = time() - $lastRequestTime;
        if ($interval < $timeInterval) {
            // 更新请求计数器和时间戳
            $_SESSION['request_count']++;
            $_SESSION['last_request_time'] = time();
            
            return true;
        }
    }
    
    // 初始化会话数据
    $_SESSION['request_count'] = 1;
    $_SESSION['last_request_time'] = time();
    
    return true;
}

// 检查请求限制
if (checkRequestLimit()) {
    // 请求通过限制,加载HTML文档
    echo "<html>...";
} else {
    // 请求超过限制次数,提示警告框
    echo "<script>alert('请不要频繁刷新!');</script>";
}
?>