Защита от копирования
Исходный файл: Copyprotection.fla
Итак, как помешать кому-либо украсть вашу игру? Никак. Но вы можете помешать ему проигрывать игру с другого сайта, таким образом, украденная игра станет бесполезной.
Ключ к такой защите - свойство _url, которое возвращает строчку, содержащую весь путь к вашему swf-файлу. Если ролик располагается по адресу http://www.ktrnk.org/my .swf. именно эту строчку вернет свойство _url.
После того как вы ее получили, можете разбить ее на части и выделить имя основного домена. Например, в вышеприведенном адресе основной домен – ktrnk.org. Просмотрите следующий фрагмент программы Copyprotection l.fla:
// Показываем весь путь.
urlText = "This game is being loaded from: " + _url;
// Получаем строку, находящуюся между символами "://"
//и следующим символом "/". cl = _url.indexOf("://"+3; с2 = _url.indexOf("/", cl);
domain = _url.sunstring(cl, c2);
// Удаляем все символы перед первой точкой.
сЗ = domain.lasrIndexOf(".")-1;
с4 = domain.lastlndexOf(".", сЗ) +1;
domain = domain.substring(c4, domain.length);
// Отображаем основной домен.
domainText = "The root domain is: " + domain;
Полученное имя основного домена вы можете сравнить с доменом, на котором находится ваш сайт. Основной домен, используемый в пути к вашей игре, для разных пользователей может выглядеть по-разному. Например, адреса http:// ktrnk.org и http://www. ktrnk.org относятся к одной страничке, но свойство _url для них будет различным. Также в адресах некоторых сайтов перед доменом могут бьпъ указаны не только символы типа "www.", например, www .games. ktrnk.org.
Если основной домен не соответствует тому, который ожидает программа, значит, игру украли. В этом случае вместо перехода к ролику игры программа может перейти к другому кадру, в котором, например, будет выводиться угрожающее сообщение.
Возможно, вы не захотите, чтобы сообщение было слишком угрожающим. Много раз я предоставлял клиенту лицензированную копию одной из игр для его сайта и забывал изменить код, чтобы игра шла на его сайте. Если вы попадете в такую ситуацию, мнение клиента о вас может измениться в худшую сторону.
Исходный файл: Copyprotection2.fla
Далее следует фрагмент программы, сравнивающей свойство _url с тем доменом, на котором располагается ваша игра. Этот код вы можете посмотреть в файле Copyprotection2.fla.
// Получаем строку, находящуюся между символами "://"
//и следующим символом "/".
cl = __url.indexOf("://"+3; с2 = _url.indexOf("/", cl) ;
domain = _url.sunstring(cl, c2);
// Удаляем все символы перед первой точкой.
сЗ = domain.lasrIndexOf(".")-1;
с4 = domain.lastlndexOf(".", сЗ) +1;
domain = domain.substring(c4, domain.length);
// Переходим к соответствующей странице,
if (domain != " ktrnk.org ") {
gotoAndPlay("stolen");
} else {
gotoAndPlat("start");
Вместо того чтобы ролик переходил к другому кадру, вы можете сделать так, чтобы он вызывал функцию getURL () с адресом HTML-страницы, на которой и будет находиться ваше гневное сообщение. Таким образом, не нужно будет помещать кадр с сообщением в каждый ролик, который вы создаете.