<?php
// 数据库配置
define('DB_HOST', 'localhost');
define('DB_USER', 'root');
define('DB_PASS', '123456aa');
define('DB_NAME', 'nav_site');

// 动态获取站点URL
$protocol = isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http";
$host = $_SERVER['HTTP_HOST'];
$current_path = dirname($_SERVER['PHP_SELF']);
define('SITE_URL', $protocol . "://" . $host . $current_path);

// 网站配置
define('SITE_TITLE', '个人导航网站');
define('SITE_DESCRIPTION', '一个简洁优雅的个人导航网站');

// 安全配置
define('ADMIN_COOKIE_NAME', 'nav_admin');
define('ADMIN_COOKIE_EXPIRE', 86400); // 24小时
define('SALT', 'nav_site_salt_2024');

// 错误报告设置
error_reporting(E_ALL);
ini_set('display_errors', 1);

// 设置时区
date_default_timezone_set('Asia/Shanghai');

// 数据库连接函数 - 仅当函数不存在时才定义
if (!function_exists('db_connect')) {
    function db_connect() {
        $conn = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
        if ($conn->connect_error) {
            die("连接失败: " . $conn->connect_error);
        }
        $conn->set_charset("utf8mb4");
        return $conn;
    }
}

// 防SQL注入函数 - 仅当函数不存在时才定义
if (!function_exists('clean')) {
    function clean($string) {
        $conn = db_connect();
        return $conn->real_escape_string(trim($string));
    }
}

// XSS防护函数 - 仅当函数不存在时才定义
if (!function_exists('xss_clean')) {
    function xss_clean($data) {
        return htmlspecialchars($data, ENT_QUOTES, 'UTF-8');
    }
}

// CSRF Token生成函数 - 仅当函数不存在时才定义
if (!function_exists('generate_csrf_token')) {
    function generate_csrf_token() {
        if (!isset($_SESSION['csrf_token'])) {
            $_SESSION['csrf_token'] = bin2hex(random_bytes(32));
        }
        return $_SESSION['csrf_token'];
    }
}

// 启动会话
if (session_status() == PHP_SESSION_NONE) {
    session_start();
}
?>
