Пользователь
		- Регистрация
- 15 Авг 2025
- Сообщения
- 4
- Автор темы
- #1
Доброго времени суток.
В логах такая ошибка:
	
	
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
Содержание config.php:
	
	
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
			
			В логах такая ошибка:
			
				log:
			
		
		
		[B]Fatal error[/B]: Cannot redeclare get_db_connection() (previously declared in /var/www/ws331/data/www/домен/global/general/config.php:23) in [B]/var/www/ws331/data/www/домен/global/general/config.php[/B] on line [B]23[/B]
			
				config.php:
			
		
		
		<?php
ini_set('session.gc_maxlifetime', 2560000);
session_set_cookie_params([
    'lifetime' => 2560000,
    'path'     => '/',
    'domain'   => 'https://www.домен.ru',
    'secure'   => isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on',
    'httponly' => true,
    'samesite' => 'ччччччччч'
]);
session_start();
// коннект к базе
$db_host     = "ччччччччч";
$db_user     = "ччччччччч";
$db_password = "ччччччч";
$db_name     = "чччччччч";
$sitename = "чччччччч";
$botToken = ""; // токен ТГ бота
$chatId = "";
function get_db_connection() {
    static $conn = null;
    if ($conn === null) {
        try {
            $dsn = "mysql:host={$GLOBALS['db_host']};dbname={$GLOBALS['db_name']};charset=utf8mb4";
            $options = [
                PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
                PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
                PDO::ATTR_EMULATE_PREPARES   => false,
            ];
            $conn = new PDO($dsn, $GLOBALS['db_user'], $GLOBALS['db_password'], $options);
        } catch (PDOException $e) {
            error_log("PDOException: " . $e->getMessage() );
            die(json_encode(["error" => "Ошибка подключения: " . $e->getMessage()]));
        }
    }
    return $conn;
}
function sanitize_input($data) {
    return htmlspecialchars(strip_tags(trim($data)), ENT_QUOTES, 'UTF-8');
}
$allowed_pages = ['login.php', 'register.php', 'bot.php'];
$excluded_dirs = ['global'];
$current_page = basename($_SERVER['PHP_SELF']);
$current_dir  = basename(dirname($_SERVER['PHP_SELF']));
if (in_array($current_dir, $excluded_dirs)) {
    return;
}
$conn = get_db_connection();
if (!isset($_SESSION['user_id']) && isset($_COOKIE['session_token'])) {
    $session_token = sanitize_input($_COOKIE['session_token']);
  
    $stmt = $conn->prepare("SELECT user_id FROM user_sessions WHERE session_token = ? AND expires_at > NOW()");
    $stmt->execute([$session_token]);
    $user = $stmt->fetch();
    if ($user) {
        $_SESSION['user_id'] = $user['user_id'];
        session_regenerate_id(true);
    } else {
        setcookie("session_token", "", time() - 3600, "/", "", isset($_SERVER['HTTPS']), true);
    }
}
if (isset($_SESSION['user_id'])) {
    $stmt = $conn->prepare("SELECT admin, first_name, last_name, email FROM users WHERE id = :id");
    $stmt->execute([':id' => $_SESSION['user_id']]);
    $user_data = $stmt->fetch();
    if ($user_data) {
        $_SESSION['admin']      = $user_data['admin'];
        $_SESSION['first_name'] = $user_data['first_name'];
        $_SESSION['last_name']  = $user_data['last_name'];
        $_SESSION['email']      = $user_data['email'];
    }
}
if (!isset($_SESSION['user_id']) && !in_array($current_page, $allowed_pages)) {
    if (!headers_sent()) {
        header("Location: login.php");
        exit();
    } else {
        die("<script>window.location.href = 'login.php';</script>");
    }
}
function is_rate_limited() {
    $now = time();
    if (!isset($_SESSION['requests'])) {
        $_SESSION['requests'] = [];
    }
    $_SESSION['requests'] = array_filter($_SESSION['requests'], function($t) use ($now) {
        return ($now - $t) < 60;
    });
    if (count($_SESSION['requests']) >= 50) {
        return true;
    }
    $_SESSION['requests'][] = $now;
    return false;
}
if ($_SERVER['REQUEST_METHOD'] === 'GET' && isset($_GET['query'])) {
    header('Content-Type: application/json');
    if (is_rate_limited()) {
        echo json_encode(["error" => "Слишком много запросов, попробуйте позже."]);
    } else {
        echo json_encode(["message" => "Запрос получен, но обработка не реализована."]);
    }
    exit;
}
?> 
 
		 
 
		 
 
		 
 
		 
 
		 
			 
			