Loading...
Оценка сайтов | vobog.Ru - Война Богов
Приветствую всех WAP/WEB-разработчиков и любителей текстовых RPG!
Я решил плотно заняться созданием мобильных онлайн-игр, так как вижу в этом жанре огромный потенциал, отличную атмосферу и свободную ностальгическую нишу. Хочу представить вам свой проект — «Война Богов» (vobog.ru), и показать, какую титаническую работу я проделал над его технической частью.
За основу было взято моё старое игровое ядро, написанное еще под древнюю PHP 5.2. Я полностью выбросил старый код, переписал архитектуру с нуля, исправил критические ошибки и закрыл абсолютно все уязвимости.
Было: PHP 5.2, небезопасные mysql_* запросы, куча дыр с SQL-инъекциями и XSS-уязвимостями.
(Кстати, в паблик-обменниках до сих пор лежит старая версия «Битва Богов 5.2» — это отличный пример того, как писать небезопасно).
Стало: Современный, оптимизированный и защищенный проект на PHP 8.0 + PDO.
• Полный рефакторинг на PDO: Все запросы к базе данных переведены на подготовленные выражения (Prepared Statements). Проблема SQL-инъекций полностью ликвидирована.
• XSS-иммунитет: Входные данные жестко фильтруются кастомными функциями, а вывод экранируется через htmlspecialchars, что полностью исключает внедрение вредоносных скриптов в чате, почте или на форуме.
• Защита сессий и Cookie: Реализована надежная система защиты от кражи сессий и перехвата cookies игроков (Session Hijacking).
• Сквозная буферизация (Output Buffering): Внедрение ob_start() намертво решило классическую проблему Headers already sent. Любые моментальные редиректы после POST-запросов (отправка смс, покупка вещей) работают идеально и без сбоев.
• Сетевой щит: Полностью переписан и настроен файл .htaccess для защиты от флуда, спама, брутфорса и базовых DDoS-атак на скрипты.
• Глобальный аудит (Логирование): Во всех ключевых разделах игры настроена сквозная запись логов для отслеживания действий игроков и работы ядра.
• Боевой модуль «Подземелье»: Написана и полностью функционирует система пошаговых подземелий, рассчитанная на развитие игрока вплоть до 60 уровня.
• Динамическая регенерация: Реализована система восстановления здоровья (HP) персонажей в реальном времени (в режиме онлайн).
• Двухвалютная экономика: Помимо стандартного серебра, введена премиум-валюта — Кристаллы, со своей логикой начисления и баланса.
• Городская Таверна: Полноценный хаб, где игроки берут ежедневные квесты, случайные срочные контракты разной сложности от купцов за энергию и повышают Репутацию таверны, а также могут восстановить силы у Бармена.
• Система случайных событий: При сдаче квестов в таверне работают триггеры случайных событий (например, засада разбойников с потерей серебра, но увеличением опыта, или редкая находка сокровищ с ценным дропом).
• Единый хаб состязаний: Реализован раздел «Турниры Королевства», куда входят:
1. Еженедельный турнир Арены (PvP).
2. Турнир Сильнейших по уровню и опыту (Гонка лидеров).
3. Турнир Таверны по недельной репутации (Для активных наемников).
• Высокоскоростной рейтинг: Таблицы лидеров и точная позиция текущего игрока («Вне рейтинга» или точное место) рассчитываются на лету оптимизированными SQL-запросами прямо в БД без создания тяжелых промежуточных таблиц.
• Автономный CLI-Крон: Написан защищенный скрипт автоматизации для планировщика задач (Cron). Каждое воскресенье в полночь внутри изолированной транзакции beginTransaction() он определяет ТОП-5 победителей во всех турнирах, начисляет им золото напрямую в базу, публикует системную новость и сбрасывает недельные очки в ноль.

К чему эта тема?

1. Я твердо нацелен развивать свой проект vobog.ru до полноценного релиза.
2. Хочу получить конструктивную критику, оценку архитектуры кода и верстки от опытных веб-мастеров.
3. Важно понять взгляд со стороны: расту ли я как разработчик или деградирую?
Ссылка на проект : https://vobog.ru
Тестовый аккаунт для оценки функционала:
• Логин: system
• Пароль: qwerty
P.S. Масштабную рекламу пока не запускаю, игра находится в стадии полировки кода и исправления мелких недочетов. Основную админку скрыл от посторонних глаз, чтобы поменьше знали, что там еще интересного напичкано :) С удовольствием выслушаю ваши мнения и советы по улучшению геймплея!
________
посл. ред. 10.10.2026 в 13:05; всего 2 раз(а); by TheSom
Пример кода :)
php
   if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['send'])) { 
$text = isset($_POST['text']) ? trim($_POST['text']) : '';

if (empty($text)) {
$error_msg = 'Нельзя отправить пустое сообщение';
}
elseif (preg_match('/(https?:\/\/\S+)|(www\.\S+)|(\b[a-z0-9._%+-]+\.(ru|com|net|org|biz|info|xyz|online|space|site|top|club|tk|ml|ga|cf|gq)\b)/i', $text)) {
$error_msg = 'Ссылки и реклама в чате запрещены!';
} else {
if (time() - $_SESSION['chat_last_submit'] < 3) {
$error_msg = 'Антифлуд: можно писать раз в 3 секунды!';
} else {
$_SESSION['chat_last_submit'] = time();
$safe_text = htmlspecialchars($text, ENT_QUOTES, 'UTF-8');
$ins = $db->prepare("INSERT INTO chat (user_id, text) VALUES (?, ?)");
$ins->execute([$uid, $safe_text]);
header('Location: /chat/index.php');
exit;
}
}
}
здорово) ну что ж раз никто не прокомментировал, я оставлю свой комментарий, продолжай конечно) думаю ты не деградируешь *friends* не любитель таких игр, но все же желаю тебе удачи в этом .preved.
Онлайн: 3
Время:
Gen. 0.0622
(c) Bym.Guru 2010-2026