Защита от копирования
Защита от копирования
Итак, прочитав эту книгу, вы решили создать свою собственную игру. На это у вас ушли месяцы. Когда вы закончили свой проект, получилась замечательная Flash-игра. Вы убеждены, что она станет суперпопулярной и сделает вас знаменитым.
Вы разместили игру на Web-сайте и начали ждать результатов. Через несколько недель вы узнали, что в нее играют сотни людей. Вы также обнаружили аналогичную игру на домашней страничке подростка из штата Небраска.
Минуточку! Это же ваша игра! Она на домашней страничке какого-то подростка, который утверждает, что сам создал ее! Но что еще хуже – на его страничку заходят миллионы и миллионы людей. И лавры за созданную вами игру достаются ему.
Предотвратить это можно несколькими способами. Давайте сначала рассмотрим, как происходит такая кража.
Как и почему воруют игры
Уже на протяжении пяти лет я создаю для Web игры на базе технологий Shockwave и Flash. Я обнаружил, что мои игры без разрешения используются на различных Web-сайтах, начиная от персональных домашних страничек и заканчивая официальными бизнес-сайтами.
Первое, что следует понять, – в 90 % случаев вор даже не подозревает, что совершает кражу. Для большинства людей Internet стал большой бесплатной игровой площадкой. Многое они получают бесплатно и даже не думают о том, кто владеет этой программой или любой другой информацией, какова была стоимость ее создания, они не задумываются о проблемах копирования и интеллектуальной собственности. Все это не имеет значения, так как большинство программ бесплатные.
Когда кто-то начинает создавать свой собственный Web-сайт, не важно – домашнюю страничку или сайт, который положит начало электронному бизнесу, этот человек не думает о таких вопросах. Напротив, он считает, что раз можно посмотреть что-то бесплатно, то можно, также не платя денег, использовать понравившееся на своем Web-сайте. Если пользователь видит что-то заслуживающее внимания на чужом сайте, он смотрит HTML-код и копирует его. Если он видит интересную анимированную GIF-картинку, он щелкает правой кнопкой мыши и сохраняет ее на компьютере, чтобы впоследствии использовать для своего сайта. Если он видит вашу игру, то также берет ее и размещает на своей страничке.
Некоторые люди понимают, что это неправильно, но не осознают, какой вред причиняют. Они считают, что если ограничение скорости – 55 миль/час, то ничего не случится, если они будут ехать со скоростью 56 миль/час. Для них сеть – многомиллионная корпорация, и они не могут кому-то навредить, если возьмут одну небольшую игру для своего сайта.
Годами я слышал все это. Люди просят, и я разрешаю размещать игры на их сайтах, даже если не был знаком с ними ранее. Люди убеждены, что раз они купили одну из моих книг, значит, все, что есть на моем Web-сайте, может появиться и на их страничках. Люди утверждают, что все программы и другая информация должны быть бесплатными, чтобы можно было брать игры, ни у кого не спрашивая разрешения.
Методы, которыми пользуются люди для получения Flash-игр, на удивление просты. Один из вариантов: вор просматривает HTML-код страницы, где располагается ваш ролик, получает имя и путь к нему с помощью параметра src тэга OBJECT или embed, а затем указывает в браузере непосредственный путь к swf-файлу. После этого пользователь может выбрать пункт File ? Save as (Файл ? Сохранить как), чтобы сохранить swf-файл на своем локальном жестком диске.
Даже если вы умудрились спрятать HTML-код от пользователя, он всегда может найти скрытые файлы в кэше своего браузера и выбрать из них соответствующий swf-файл.
Как предотвратить воспроизведение игры с другого компьютера
Исходный файл: Copyprotection.fla
Итак, как помешать кому-либо украсть вашу игру? Никак. Но вы можете помешать ему проигрывать игру с другого сайта, таким образом, украденная игра станет бесполезной.
Ключ к такой защите – свойство _url, которое возвращает строчку, содержащую весь путь к вашему swf-файлу. Если ролик располагается по адресу http://www.garyrosenzweig.com/flash5book/copyprotection1.swf, именно эту строчку вернет свойство _url.
После того как вы ее получили, можете разбить ее на части и выделить имя основного домена. Например, в вышеприведенном адресе основной домен – garyrosenzweig.com. Просмотрите следующий фрагмент программы Copyprotection1.fla:
// Показываем весь путь.
urlText = "This game is being loaded from: " + _url;
// Получаем строку, находящуюся между символами "://"
// и следующим символом "/".
c1 = _url.indexOf("://"+3;
c2 = _url.indexOf("/", c1);
domain = _url.sunstring(c1, c2);
// Удаляем все символы перед первой точкой.
c3 = domain.lasrIndexOf(".")-1;
c4 = domain.lastIndexOf(".", c3) +1;
domain = domain.substring(c4, domain.length);
// Отображаем основной домен.
domainText = "The root domain is: " + domain;Полученное имя основного домена вы можете сравнить с доменом, на котором находится ваш сайт. Основной домен, используемый в пути к вашей игре, для разных пользователей может выглядеть по-разному. Например, адреса http://garyrosenzweig.com и http://www.garyrosenzweig.com относятся к одной страничке, но свойство _url для них будет различным. Также в адресах некоторых сайтов перед доменом могут быть указаны не только символы типа «www.», например, www.games.garyrosenzweig.com. Если основной домен не соответствует тому, который ожидает программа, значит, игру украли. В этом случае вместо перехода к ролику игры программа может перейти к другому кадру, в котором, например, будет выводиться угрожающее сообщение.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
13.1. Основы резервного копирования
13.1. Основы резервного копирования Чтобы финансовые потери от утраты информации были минимальными, нужно знать, откуда может прийти угроза. Помимо того, вы должны проанализировать данные, которые вы сохраняете. От этого зависит, как часто нужно производить резервное
Способы резервного копирования
Способы резервного копирования Существуют два основных способа сетевого резервного копирования. Первый способ состоит в том, что операция копирования инициируется компьютером, данные которого должны быть сохранены; при этом используется накопитель на лентах,
4.16. Стратегия резервного копирования
4.16. Стратегия резервного копирования Успешно, во всяком случае, я на это надеюсь, разобравшись с технической стороной создания резервных копий, переходим к организационным вопросам. А именно, вам нужно определиться с ответами на следующие вопросы:1. Какая информация
10.2. Стратегия резервного копирования
10.2. Стратегия резервного копирования Чтобы героически спасать файлы приходилось не слишком часто, следует заранее позаботиться об их надежной защите. Важнейшим средством защиты является резервное копирование.Вам нужно хорошо продумать следующие пункты:1. Какая
10.3. Оборудование для резервного копирования
10.3. Оборудование для резервного копирования При выборе стратегии резервного копирования решающим фактором может оказаться соотношение размера диска и емкости имеющихся у вас внешних носителей. Привычные диски CD-RW вмещают всего 640 Мбайт, поэтому резервирование
Программы для копирования Audio CD
Программы для копирования Audio CD В Linux, как принято в большинстве приложений, используемых на данной платформе, процесс кодирования аудио разбит на два этапа: собственно «сграбление» Audio CD, то есть снятие с него дорожек, и сохранение их на диске в формате WAV, а затем
Программа для копирования сайтов
Программа для копирования сайтов Кроме многофункционального wget, в составе Linux есть и специализированные решения, предназначенные для создания локальных копий сайтов.Крайне популярной является HTTrack Website Copier (http://www.httrack.com/). Скорее всего, эта программа уже есть в
Реализация теневого копирования
Реализация теневого копирования В Firebird существует синтаксис DDL для создания и удаления теневых копий с различными предложениями для задания размещения, режима работы и размера файла. Изменение теневой копии требует удаления существующей копии и создания новой с новыми
Выполнение копирования
Выполнение копирования Для вызова gbak или перейдите в каталог Firebird /bin, где размещается gbak, или укажите для утилиты полный путь. Вся команда должна размещаться в одной строке. В описании синтаксиса и примерах логически замкнутые части команды представлены в виде отдельных
Переключатели копирования
Переключатели копирования В табл. 38.1 описаны переключатели, которые могут быть использованы в gbak при выполнении копирования.Таблица 38.1. Переключатели gbak для копирования Переключатель Эффект -b[ackup database] Утилита gbak выполняет копирование указанной базы данных в файл или
Выполнение удаленного копирования
Выполнение удаленного копирования Если вы запускаете gbak с удаленной клиентской машины, она записывает файлы копии в текущий каталог или в локальный каталог, заданный полным путем. Если вы задаете размещение для файла копии, оно должно быть доступно с машины, на которой
Инструменты резервного копирования
Инструменты резервного копирования DBak DBak является альтернативной утилитой резервного копирования базы данных, которая не использует gbak или Services API. Она копирует базу данных в новую, используя скрипты DDL и перемещение данных. Ее абстрактным уровнем API является IB
Программы для копирования аудиодисков на винчестер
Программы для копирования аудиодисков на винчестер Современный компьютер является для пользователя многофункциональным устройством: он выступает в роли рабочего инструмента, игровой площадки, вместе с TV-тюнером — в роли телевизора и цифрового видеомагнитофона, а
Программы для копирования DVD на жесткий диск
Программы для копирования DVD на жесткий диск Сохранение полной копии фильма без каких-либо изменений на жесткий диск способно продлить жизнь DVD, однако для накопителя этот процесс будет недолгим, поскольку один или несколько десятков фильмов (в зависимости от размера
18.3.5. Проверка результата копирования файла
18.3.5. Проверка результата копирования файла А теперь осуществим проверку того, успешно ли прошло копирование файла. Если команда cp не скопировала файл myfile в файл myfile.bak, отображается сообщение об ошибке. Обратите внимание, что в сообщении об ошибке фигурирует команда `basename