Азартные игры на PHP Никита Кислицин Хакер, номер #075, стр. 075-118-2 В самом деле - Flash? Современный Flash позволять создавать довольно навороченные системы: язык ActiveScript даже поддерживает работу с сокетами, о чем тут говорить! Любое флэш-приложение может работать в качестве полноценного клиента, взаимодействующего с серверами баз данных, web-сервисами и т.д. Однако при всем при этом flash предоставляет чрезвычайно гибкие возможности для создания пользовательского интерфейса, по сравнению с которыми язык HTML – просто детская неожиданность. И в нашем случае все эти возможности окажутся востребованными. Сейчас настало время представить себе, как будет функционировать наша крутая рулетка. Прежде всего, надо понимать, что пользовательская информация и данные о транзакциях хранится на внешнем сервере, более того, все игровые расчеты проводятся там же. Доступ к управляющей информации должен осуществляться через специальный интерфейс, который мы реализуем в виде системы PHP-скриптов. Для чего необходимо использовать такой интерфейс, почему нельзя заставить самого флэшового клиента работать с сервером БД и самостоятельно вычислять выпавшие комбинации? Ответ очень простой: чтобы исключить пользовательские махинации. Ведь если Flash-приложение самостоятельно производит игровые расчеты, то не так уж и сложно будет научиться управлять этими процессами, более того, появится возможность вмешиваться в обмен информацией с сервером и фальсифицировать результаты игры. Так же использование управляющих PHP-сценариев позволяет внести четкое разделение между клиентской частью и серверной. Клиентская flash-заставка будет заниматься тем, что показывать стол для игры, принимать ставки, отправлять их серверу, получать и показывать пользователю результат розыгрыша. При этом все расчеты и вычисление выигрышных ставок производится на серверной части, заставка лишь получает результат розыгрыша и никоим образом не может влиять на результат. Взаимодействие На нашем диске ты найдешь флэшовый проект, а также готовый swf-файл, это и есть сама рулетка, клиентская часть системы. На самом деле, это довольно простое приложение, в котором очень мало кода и подробно описывать его в этой статье я не буду: ты сам легко в этом разберешься, просто открыв файл проекта. Однако для понимания того, как строится и работает наша система, тебе потребуется знать, каким образом происходит взаимодействие Flash-приложения и внешних php-сценариев. Фактически, задача сводится к получению и передаче скрипту некоторых переменных. В ActionScript все это может быть реализовано при помощи функции loadVariables("url", level/"target" [, variables]). Чтобы тебе было проще разобраться, я приведу пример того, как можно отправить скрипту login.php пользовательские данные для аутентификации: |