Регистрация

Введение

И так…
Вы закончили работу над очередной игрой.
Исправили все ошибки, подобрали необходимые звуки, отрегулировали поведение объектов и персонажей в игре…
Подщетали, сколько затратили времени на разработку данной игры, и средств на орегинальные звуки и речевые фразы, и поняли, что эта игра не может быть бесплатной.
И вы, как разработчик будете абсолютно правы.
Тем более, если все вырученные деньги пойдут на дальнейшее создание игр.
Но возникают вопросы:
Как же всё-таки защитить своё творение от взломщиков?
Какие существуют надёжные способы регистрации?
К сожалению, движок BGT предоставляет минимальный набор функций для создания простой регистрации.
Выходом из данной сетуации может стать только то, что для каждой новой игры вы будете придумывать новый способ генерации ключа и регистрации его.
Таким образом вы усложните задачу злоумышленнику, так как ему каждый раз придётся искать новый способ взлома.

Способы

Так как же мне защитить свою игру? Спросите вы.
На сегодняшний день существует 3 способа регистрации.
Ниже перечислены все эти способы с присущими только им плюсами и минусами.

Имя — ключ

Этот способ, безусловно, самый простой, самый удобный для пользователя, и наименее безопасный.
Пользователь просто вводит своё имя, платит за продукт и получает ключ, который является неким постоянным идентификатором для данного пользователя.
Купив у вас одну игру, пользователь сможет использовать тот же ключ для регистрации и в других играх разработанных вами.
Единственная трудная часть в данном виде регистрации является генерация ключа на основе имени, введённого пользователем.
BGT предоставляет достаточно большой набор функций по работе со строками.
Поэтому надёжность ключа будет зависить только от вашего воображения и набора функций, использованного для его создания.
Плюсы:

  • Если пользователь приобретает новый компьютер, а на старом была установлена и зарегистрирована ваша игра, то ключ несмотря ни на что будет работать и на новом компьютере.
  • Данный способ регистрации легко осуществить. Всё зависит только от вашего воображения при генерации ключа на основе имени, введённого пользователем.
Минусы:
  • Очень легко взломать. Всё, что требуется от пользователя, это передать своё имя и ключ другим пользователям.

ID продукта — ключ

Этот способ очень похож на способ «имя — ключ», упомянутый выше, с одним основным отличием.
Теперь генерируемый ключ основывается не на имени, которое ввёл пользователь при покупке, а на некой уникальной информации об оборудовании на компьютере пользователя.
В данном случае вы должны предоставить пользователю при запуске игры получить информацию об оборудовании на его компьютере, чтобы он смог вам отправить данную информацию вместе с оплатой.
Далее шаги теже самые, как и в случае «имя — ключ».
Только теперь у вас не имя пользователя, а полученная информация об оборудовании на компьютере пользователя, так называемый ID продукта.
Созданный ключ может быть одним и тем же для всех ваших игр, но работать он будет только на одной машине.
Достаточно серьёзной проблемой в данном способе регистрации является возникновение сетуации, когда пользователь меняет что-то из оборудования на своём компьютере.
В данном случае пользователь должен связаться с вами, а вы в свою очередь сгенерировать новый ключ на основе нового ID продукта.
BGT предоставляет функцию для создания уникального ID компьютера на основе нескольких различных аппаратных компонентов.
Плюсы:

  • Способ значительно безопасней, чем «имя — ключ». Пользователь не сможет просто передать ключ другим.
  • Легко осуществить. Действия примерно теже, как и в случае с регистрацией имени, учитывая то, что BGT предоставляет функцию для создания ID компьютера, облегчающей задачу.
Минусы:
  • Данный способ требует намного больше обслуживания. Если пользователь переустановит систему или изменит что-то из оборудования на своём компьютере, ему придётся связаться с вами для получения нового ключа, чтобы продолжить использовать игру, за которую он уже заплатил.

Online регистрация

Данный способ является гибридом перечисленных выше вариантов регистрации.
Основная идея заключается в центральном сервере, к которому подключается игра при регистрации, а затем сервер сообщает, принята регистрация или нет.
Отличительная черта данного способа заключается в возможности использовать один ключ на стольких компьютерах, сколько указано на сервере.
Однако, как и у любого из перечисленных выше способов, у данного способа тоже имеется ряд недостатков.
Во-первых, пользователь должен быть подключён к интернету во время регистрации.
На сегодняшний день это достаточно редкое явление, когда у пользователя нет доступа к интернету, но всёже бывает.
Во-вторых, сервер постоянно должен находиться online, чтобы регистрировать новых пользователей и работать с уже существующими.
В-третьих, после регистрации, чтобы экземпляр игры был принят сервером как зарегистрированный, необходимо помнить информацию о том, что данный экземпляр игры зарегистрирован.
Это нужно для того, чтобы избежать подключения к серверу каждый раз, когда пользователь запускает игру.
Отсюда следует, что на компьютере пользователя необходимо сохранять некую информацию о том, что его экземпляр игры зарегистрирован, причём в проверке данной информации сервер уже не участвует.
Данным этапом и может воспользоваться взломщик, просто сымитировав эту информацию и получив зарегистрированный экземпляр игры.
Плюсы:

  • Полный контроль. Вы, как разработчик имеете полный контроль над тем, сколько зарегистрировано пользователей, на скольких компьютерах используется регистрация, и имеете возможность ограничить количество разрешённых регистраций в любой момент.
  • Повторное использование. Поскольку клиенту не нужен уникальный идентификатор продукта, то он может использовать своё имя вместо этого. Это даёт возможность использовать ключ на стольких компьютерах, сколько разрешено на сервере.
Минусы:
  • Требуется подключение к интернету на момент регистрации.
  • Зависимость от сервера. Если сервер недоступен по какой-либо причине, то пользователь не сможет зарегистрировать и использовать свой экземпляр продукта.
  • Сложность в осуществлении. Необходимо прилично владеть языками веб программирования, например PHP, а также хорошо ориентироваться в методах проектирования безопасности.
  • Возможность сымитировать локальную информацию о состоянии регистрации экземпляра продукта на компьютере пользователя.

Заключение

Рассмотрев все три способа регистрации, мы можем прийти к очевидному выводу:
Если кто-то чувствует, что не зря провёл время за вашей игрой, то она в скорем времени будет взломана, какие бы меры вы не принимали.
Особенно это касается способов «ID продукта — ключ» и «online регистрация».
Возникающие проблемы, при использовании двух упомянутых выше способов, отрецательно скажутся на вашей клиентской базе.
Отсюда мы можем сделать вывод, что лучше всего использовать способ регистрации «имя — ключ», и на это есть три причины.
1. Это очень легко как в плане обслуживания пользователей, так и в плане переносимости.
2. Как только у других двух способов возникнут проблемы, что произойдёт рано или поздно, это только принесёт неприятности с обслуживанием пользователей.
3. Данным способом вы показываете своё доверие к пользователям, что не может не сказаться положительно на количестве ваших клиентов.
Естественно, выбор остаётся за вами, какой из трёх способов регистрации использовать.
Мы лишь описали данные способы, выявили все плюсы и минусы.
BGT даёт возможность реализовать все три способа при помощи функций по работе со строками, функции создания уникального ID компьютера и доступа к http серверам, используя объект http или функций url_get и url_post.

Содержание

Поделитесь с друзьями

WordPress Lessons