Я бы сразу исключил Решение 1 только по той причине, которую вы указали.
Итак, давайте просто поговорим о том, как обойти решение проблемы 2.
То, что я вижу, является распространенным способом справиться с этим, когда серверный скрипт обрабатывает генерацию этих специальных элементов. Если вы посмотрите на множество онлайн-флеш-игр, я уверен, что вы согласитесь, что Flash отвечает за пользовательский интерфейс почти полностью, а остальное обрабатывает серверная часть. Это, конечно, ограничивает тип игр, которые вы можете делать таким образом.
Есть и другой способ. Если бы вы могли создать свой SWF-файл из своего бэкэнда, вы могли бы хранить данные сеанса, которые будут полезны только в течение ограниченного времени. Конечно, это не должен быть тот же swf, в котором хранятся все ваши игровые ресурсы, а только классы, необходимые для взаимодействия с бэкэндом. Динамическая генерация swf-взаимодействия с сервером позволила бы хранить важные данные сеанса и каждый раз шифровать их другим ключом, так что, если кто-то взломает его, это ограничит то, что он может с ним сделать, поскольку новый сеанс потребует новых учетных данных .