Автор работы: Пользователь скрыл имя, 20 Ноября 2012 в 17:29, дипломная работа
Целью данной дипломной работы является разработка информационной системы удаленного администрирования серверов онлайн-игр для крупного сервера.
Для достижения данной цели необходимо решить следующие задачи:
изучить особенности администрирования серверов онлайн-игр и выявить основные проблемы данной области
провести анализ современных систем удаленного администрирования серверов онлайн-игр
изучить возможности языка php и его использование для взаимодействия с серверными SQL-базами
разработать информационную систему удаленного администрирования серверов онлайн-игр
разработать комплексную защиту системы от несанкционированного доступа
создать оптимальный программный интерфейс системы
ВВЕДЕНИЕ
Глава 1 Аналитическая часть
Понятие серверов и их классификация
1.1.1 Аппаратное обеспечение
1.1.2 Классификация стандартных серверов
1.2 Сущность и методы удаленного доступа
1.2.1 Типы взаимодействующих систем
1.2.2 Удаленный узел
1.2.3 Удаленное управление
1.3 Понятие многопользовательских ролевых онлайн-игр
1.4 Обзор существующих информационных систем удаленного администрирования серверов онлайн-игр
1.4.1 RT Java Server Administrator v.1.0
1.4.2 La2offline Interlude 2.0
1.4.3 Off php admin by Hint
1.4.4 Интегрированная в игровую оболочку административная панель
1.5 Скриптовый язык PHP и его взаимодействие с базами данных
1.5.1 Использование
1.5.2 Синтаксис
1.5.3 Типы данных
1.5.4 Суперглобальные массивы
1.5.5 Объектно-ориентированное программирование
1.5.6 Взаимодействие с базами данных (MS SQL)
1.5.7 Недостатки языка
Глава 2 Практическая часть
2.1 Постановка задачи
2.2 Краткая характеристика предприятия ООО «Мираж»
2.3 Особенности администрирования серверов онлайн-игр
2.4 Обоснование выбора средства разработки
2.5 Разработка алгоритма решения задач администрирования серверов
2.6 Разработка структуры баз данных
2.7 Описание разработанной системы
2.7.1 Защита системы от несанкционированного доступа
2.7.2 Главное окно системы
2.7.3 Фрейм настройки записей
2.7.4 Основной фрейм управления
2.7.5 Фрейм блокирования учетных записей
2.7.6 Фрейм записей захода на сервер
2.7.7 Фрейм записей действий
2.7.8 Фрейм записей чата
2.7.9 Фрейм истории предметов
2.7.10 Фрейм поиска предметов
2.7.11 Фрейм списка предметов
Глава 3 Экономическая часть
3.1 Особенности определения экономической эффективности программного продукта
3.2 Расчет затрат на разработку и внедрение программного продукта
3.3 Расчет годового экономического эффекта и периода окупаемости
ЗАКЛЮЧЕНИЕ
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
Разрабатываемая система должна обладать удобным пользовательским интерфейсом с возможностью его изменения под конкретные задачи, поскольку загружаемые серверные записи иногда могут содержать несколько тысяч строк. Помимо этого, система должна включать в себя комплексную защиту от несанкционированного доступа и поддерживать мультисессионный режим.
2.2 Краткая
характеристика предприятия
Предприятие ООО «Мираж» занимается разработкой и поддержкой развлекательных проектов в сети интернет. Одним из основных направлений деятельности является создание, поддержка и продвижение серверов многопользовательских ролевых онлайн-игр.
На сегодняшний день наиболее приоритетным проектом является игровой сервер SW.
Среди основных принципов политики, проводимой руководством предприятия, можно назвать следующие:
2.3 Особенности администрирования серверов онлайн-игр
Сервера многопользовательских онлайн-игр имеют аудиторию в несколько тысяч пользователей, а иногда и десятков тысяч, одновременно находящихся на сервере, что требует качественного подхода к администрированию этих серверов. Большие скопления людей всегда создают определенные сложности, что не является исключением и для онлайн-игр. Для администрирования серверов с количеством пользователей в несколько сотен человек вполне рационально и достаточно использование встроенных средств администрирования, но когда количество пользователей достигает нескольких десятков тысяч, такие средства оказываются практически бесполезными или недостаточными. Система удаленного администрирования разрабатывается для сервера с количеством активных пользователей (постоянно находящихся онлайн) в несколько десятков тысяч человек. Количество же зарегистрированных пользователей составляет несколько сотен тысяч. На рисунке 2.1 изображена динамика изменения количества активных пользователей за 2 месяца.
Рисунок 2.1 - График изменения суммарного количества активных пользователей
Полноценный контроль
и управление таким количеством
пользователей требует
В онлайн-игры играют живые люди, среди которых всегда находятся мошенники и воры, «зарабатывающие» настоящие деньги на похищении чужой виртуальной собственности. Продажа виртуальной собственности за реальные средства всегда запрещена правилами сервера, поскольку значительно влияет на финансовое благополучие сервера и на его репутацию. Существует и множество других проблем, требующих контроля со стороны администрации. Именно поэтому ключевым моментом в администрировании серверов является поиск и выявление нарушителей, доставляющих проблемы как самим пользователям, так и администрации сервера, а так же помощь пользователям в разрешении различных проблемных ситуаций. Качественно определить сам факт нарушения и заблокировать нарушителей достаточно сложно без использования хороших инструментов администрирования, в частности поисковых средств.
2.4 Обоснование выбора средства разработки
В качестве средства разработки выбран скриптовый язык PHP. Главным фактором языка РНР является практичность [7]. РНР предоставляет средства для быстрого и эффективного решения поставленных задач. Практический характер РНР обусловлен пятью важными характеристиками:
1) Традиционность
Язык РНР будет казаться знакомым программистам, работающим в разных областях. Многие конструкции языка позаимствованы из Си, Perl.
Код РНР очень похож на тот, который встречается в типичных программах на С или Pascal. Это заметно снижает начальные усилия при изучении РНР. PHP — язык, сочетающий достоинства Perl и Си и специально нацеленный на работу в Интернете, язык с универсальным (правда, за некоторыми оговорками) и ясным синтаксисом. И хотя PHP является довольно молодым языком, он обрел такую популярность среди web-программистов, что на данный момент является чуть ли не самым популярным языком для создания web-приложений (скриптов).
2) Простота
Сценарий РНР может состоять из 10 000 строк или из одной строки — все зависит от специфики задачи. Нет необходимости подгружать библиотеки, указывать специальные параметры компиляции или что-нибудь в этом роде. Механизм РНР просто начинает выполнять код после первой экранирующей последовательности (<?) и продолжает выполнение до того момента, когда он встретит парную экранирующую последовательность (?>). Если код имеет правильный синтаксис, он исполняется в точности так, как указал программист.
PHP — язык, который
может быть встроен
Большое разнообразие функций PHP избавляют от написания многострочных пользовательских функций на C или Pascal.
3) Эффективность
Эффективность является исключительно важным фактором при программировании для многопользовательских сред, к числу которых относится и web.
Очень важное преимущество PHP заключается в его «движке». «Движок» PHP не является ни компилятором, ни интерпретатором. Он является транслирующим интерпретатором. Такое устройство «движка» PHP позволяет обрабатывать сценарии с достаточно высокой скоростью.
По некоторым оценкам, большинство PHP-сценариев (особенно не очень больших размеров) обрабатываются быстрее аналогичных им программ, написанных на Perl. Однако, чтобы не делали разработчики PHP, откомпилированные исполняемые файлы будут работать значительно быстрее – в десятки, а иногда и в сотни раз. Но производительность PHP вполне достаточна для создания вполне серьезных web-приложений.
4) Безопасность
РНР предоставляет в распоряжение разработчиков и администраторов гибкие и эффективные средства безопасности, которые условно делятся на две категории: средства системного уровня и средства уровня приложения.
1. Средства безопасности системного уровня
В РНР реализованы
механизмы безопасности, находящиеся
под управлением
2. Средства безопасности уровня приложения
В стандартный набор функций РНР входит ряд надежных механизмов шифрования. РНР также совместим с многими приложениями независимых фирм, что позволяет легко интегрировать его с защищенными технологиями электронной коммерции . Другое преимущество заключается в том, что исходный текст сценариев РНР нельзя просмотреть в браузере, поскольку сценарий компилируется до его отправки по запросу пользователя. Реализация РНР на стороне сервера предотвращает похищение нетривиальных сценариев пользователями, знаний которых хватает хотя бы для выполнения команды View Source.
5) Гибкость
Поскольку РНР является встраиваемым (embedded) языком, он отличается исключительной гибкостью по отношению к потребностям разработчика. Хотя РНР обычно рекомендуется использовать в сочетании с HTML, он с таким же успехом интегрируется и в JavaScript, WML, XML и другие языки. Кроме того, хорошо структурированные приложения РНР легко расширяются по мере необходимости (впрочем, это относится ко всем основным языкам программирования).
Нет проблем
и с зависимостью от браузеров, поскольку
перед отправкой клиенту
Поскольку РНР не содержит кода, ориентированного на конкретный web-сервер, пользователи не ограничиваются определенными серверами (возможно, незнакомыми для них). Apache, Microsoft IIS, Netscape Enterprise Server, Stronghold и Zeus — РНР работает на всех перечисленных серверах. Поскольку эти серверы работают на разных платформах, РНР в целом является платформенно-независимым языком и существует на таких платформах, как UNIX, Solaris, FreeBSD и Windows.
Наконец, средства
РНР позволяют программисту работать
с внешними компонентами, такими как
Enterprise Java Beans или СОМ-объекты Win32. Благодаря
этим новым возможностям РНР занимает
достойное место среди
2.5 Разработка
алгоритма решения задач
Разработка
алгоритма требует четкого
Рисунок 2.2 – Классификация задач и уровни ИС
На уровне пользователя расположены основные функции системы или события, которые инициируют пользователи системы.
На уровне интерфейса расположены механизмы, обеспечивающие взаимодействие пользователя и базы данных.
Уровень базы данных включает в себя таблицы с данными.
На основе данной модели разработан алгоритм работы информационной системы удаленного администрирования серверов онлайн-игр (рисунок 2.3).
Рисунок 2.3 – Алгоритм работы ИС удаленного администрирования серверов онлайн-игр
2.6 Разработка структуры баз данных
С помощью CASE-средства AllFusion ERwin Data Modeler создана физическая модель данных [14,15]. Фактически физическая модель данных представляет собой реляционную модель данных – систему связанных таблиц.
Процесс построения модели состоит из следующих шагов:
ИС удаленного администрирования серверов онлайн-игр использует для своей работы данные из таблиц, наиболее основные:
Общая структура базы данных информационной системы удаленного администрирования серверов онлай-игр представлена на рисунке 2.4.
Рисунок 2.4 – Структура базы данных ИС удаленного администрирования серверов онлайн-игр
2.7 Описание разработанной системы
2.7.1 Защита системы от несанкционированного доступа
Разработанная система использует SQL-запросы для доступа к базам данных и обеспечивает широчайшие права администрирования серверов, поэтому ключевым аспектом является безопасность системы. Получение доступа к системе злоумышленником может привести к необратимым последствиям, а в некоторых случаях и к иммобилизации работы серверов на некоторое время.
Комплексная политика
безопасности должна исключать не только
все возможные
Следует отметить, что для построения эффективной защиты системы необходимо применение целого комплекса технических и организационных мер.
Комплексная защита
разрабатываемой системы выполн
1. Защищенный доступ (HTTPS)
HTTPS — расширение протокола HTTP, поддерживающее шифрование [16]. Данные, передаваемые по протоколу HTTP, «упаковываются» в криптографический протокол SSL или TLS, тем самым обеспечивается защита этих данных.
HTTPS работает через шифрованные транспортные механизмы SSL и TSL. Это обеспечивает защиту от атак, основанных на прослушивании сетевого соединения – от снифферских атак, но не защищает от атак типа man-in-the-middle.
По умолчанию https: URL использует 443 TCP-порт (для незащищённого HTTP — 80). Чтобы подготовить веб-сервер для обработки https соединений, необходимо получить и установить в систему сертификат для этого веб-сервера. Сертификат состоит из двух частей (двух ключей) - public и private. Public часть сертификата используется для зашифровывания трафика от клиента к серверу в защищённом соединении, private часть - для расшифровывания полученного от клиента зашифрованного трафика на сервере. Сертификат должен быть подписан уполномоченной стороной (компанией-сертификатором - Certificate authority), которая будет гарантировать клиентам, что держатель сертификата является тем, за кого себя выдаёт.