Так так.. Когда пишешь зиро дэй для определенного круга личностей хочется чтобы он не вышел из этого круга. Вот. Значит надо защитить его всякими способами. В этой статье я покажу как это делается в PHP. Итак. Допустим ты уже написал свой зиро дэй счетчик посетителей и хочешь чтобы только у тебя была такая черношляпнегская считалка. Тогда открывай его в своём любимом редакторе. Вот. И начинаем кодировать. В данной (то есть в этой, которую читаешь) статье я покажу наиболее актуальные способы. Их будет 3 (три). Итак! 1 способ - триальный период. Тут не будут использоваться сложные механизмы с доступом к реестру и прочее о чем страшно думать. Смотрим код (он ниже).
$expire = "01.01.2006"; //Тут устанавливаем дату до которой приложение будет работать $expire = explode(".", $expire); //Разбили переменную $expire на одномерный массив с использованием точки в роли разделителя $expire = $expire[2].$expire[1].$expire[0]; // Преобразуем массив в строку /* В вышеуказанном коде можно не понять к чему такая странная замута с изменением формата даты. Обьясняю. Если поставить дату в формате (год.месяц.число) то в целом значение в скобках будет с каждым днем увеличиваться, и чтобы сравнить текущую дату с датой окончания триала достаточно будет сравнить мужду собой эти числа. В общем смотри дальше: */ if(date("Ynd") >= $expire) //Получили текущую дату и сверили с датой окончания триала { die ("Пробный период истек."); //Если че не так шлем нафиг %/ } else { print ("Все нормально. Пока.."); //Иначе нафиг не шлем }
?>
Этот способ не актуален в случае если ваш зиро дэй угнали прямо с вашего сервера и издеваются на локалке(или в другом месте где можно изменить системную дату). Однако, вполне работает на обычном хостинге потому что там никто не даст поменять локальное время. Можно написать парсер какого-нибудь проверенного ресурса на котором отображается дата и тогда всех слать нафиг. Вот.
2 способ - привязка к домену. Смотрим код (он ниже).
$domain = "Y0UR-1337.ORG"; // Устанавливаем значение домена к которому будем привязывать if ($domain != $_SERVER['HTTP_HOST']) //Сравниваем значение указанного домена с тем, на котором хостится зиро дэй { die ("Работает только на ".$domain.""); //Есле домен не тот шлем нафиг } else { print ("ГГ, привет хозяин!"); //Есле все ок то все ок }
?>
И последней описываемый в этой статье механизм под цифрой 3(три) - привязка по ip. Код вы можите увидеть ниже. А можите и не увидеть =/
$ip = "17.31.33.7"; //Указываем ip к которому привязываем
if ($ip != $_SERVER['SERVER_ADDR']) //Сравниваем значение указанного IP с тем, на котором хостится зиро дэй { die ("Ты не из нашей помойки =/"); //Есле че не так - нафиг )) } else { print ("Ваш код здесь"); //Если зиргут то гуд } ?>
Вот. выбирайте любую или сразу целую комбинацию из защитных механизмов, и применяйте к своему зиро дэй. Затем в несколько слоев обфусцируем полученый код от белошляпнегов. Привязку можно сделать по чему угодно. Например после такой проверки: if ($_ENV["COMPUTERNAME"] === "C0D3R-3DFFC348A") код запустится только на моей текущей винде. ИМХО в ява скрипте можно вывести инфу о железе и ничто не мешает полученные данные так же проверить. В общем, вариантов защиты оч. много. Теперь, надеюсь, ваши личные скрипты останутся личными. Однако все же подумайте перед тем как защищать свой зиро дэй от остальных. Быть может он принесет пользу окружающим и они, последуя вашему примеру ответят взаимностью. Да не покарает вас церковь хекеров и будет вам счастье! Аминь!