Easter Eggs

Easter Eggs (Пасхальные яйца) — это скрытое сообщение или функция, и совершенно не связанно с основной функциональностью приложений, Easter Eggs разработчики кладут внутрь программного обеспечения, веб-сайта или игры. В отличие от вирусов, червей и троянских программ, пасхальные яйца являются полностью безвредными. Они часто используются в качестве своего рода подпись программиста или как шутка. Иногда они пишутся по личной инициативе программистов, а не по запросу компании, и в таких случаях, компания может принять правовые меры против разработчиков. С другой стороны, есть много случаев, когда компании, особенно те, которые специализируются на разработке игр, просят сделать несколько пасхальных яиц.

Краткая история Easter Eggs

Словосочетание (Пасхальные яйца) происходит от англо-саксонской традиции, когда родители, прятали несколько яиц в саду на праздник Пасхи, а затем позволяли детям найти их. Этот тип работы часто используется в играх, где, например, с помощью комбинации клавиш или при выполнении определенных действий в определенном порядке, вы можете получить доступ к новым уровням или получить новые полномочия.

Количество пасхальных яиц, содержащихся в программном обеспечении или в играх, есть даже самые известные, увеличилось за последние пару десятилетий. Есть множество примеров, таких компаний, как Mozilla, Oracle, Google и только немногие, решились добавить Пасхальные яйца в их программное обеспечение.

  • Mozilla добавил пасхальное яйцо во всех версиях Firefox. Чтобы увидеть его в действии, в адресной строке наберите «about:mozilla» и нажмите клавишу ВВОД. Firefox отобразит цитату из «Книги Mozilla» о рождении Firefox.
  • Google создал Пасхальное яйцо в Picasa. Если Вы откроете для настольных ПК, а затем нажмите Ctrl + Shift + Y, появляется изображение игрушечного медведя. Каждый раз при нажатии комбинации клавиш, другой медведь не отобразится.
  • Skype, известного программного обеспечения VoIP, имеет простой, но забавный пример. Если вы откроете чат, c типом «пьяный» появляется скрытый смайлик.
  • Игра Tetris, спрятана в uTorrent. Чтобы увидеть её, нажмите кнопку меню «Help», а затем перейдите в раздел «about». Пресс T ключ и игру.
  • OpenOffice есть много скрытых игры и другие вещи. Так много, что у них есть специальный раздел на своем сайте! Если вы хотите играть в крестики-нолики в “=GAME(A2:C4;”TicTacToe”)” в ячейку A1 и нажмите клавишу ВВОД.

Создать Easter Eggs

Мы будем создавать простое пасхальное яйцо с PHP. Мы создадим форму поиска, и, если пользователь ищет моё имя (вы можете изменить на собственное) страница будет показывать определённое сообщение. И это будет Easter Eggs (пасхальное яйцо).

Нужно создать PHP-файл со следующим HTML кодом:



<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Пасхальное Яйцо!</title>
</head>
 <body>
 <h1>Пасхальное Яйцо!</h1>
  <h3>Поиск</h3>
  <form method="get" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>">
   <input type="text" name="searched-text" id="searched-text" placeholder="Поиск..." accesskey="s">
   <input type="submit" value="Поиск">
  </form>
</body>
</html>


В форма не много элементов, нужно только поле ввода, где пользователь может ввести, чего он хочет от поиска и кнопку отправки запроса.

Попробуйте использовать форму. Как вы видите, ничего не происходит, но перенаправляет пользователя на ту же страницу, отправляя то, что было введено в поле поиска в качестве параметра. Бизнес-логика пока не реализована, так что не волнуйтесь, что ничего особенного не происходит.

Следующий шаг заключается в написании бизнес-логики. Нам необходимо проанализировать запрос с помощью суперглобальног массива $ _GET , чтобы увидеть его свойства. Если искомый текст параметр не пуст, будет показано, что пользователь искал, но в случае, если пользователь искал моё имя, добавим своё сообщение: «Я знаю, всё будет здорово!».

Полученный код должен выглядеть следующим образом.



<?php
if (! empty($_GET['searched-text'])) {
    echo "<h3>Вы искали: " . htmlentities($_GET["searched-text"]) . "</h3>";
    // Сравнение без учета регистра
    if (strcasecmp($_GET["searched-text"], "Viktor Klim") == 0) {
        echo "<p>Я знаю, всё будет здорово!</p>";
} ?>


После этого, вы должны увидеть такое окно:

Easter Eggs

Чуть более сложный пример

В предыдущем примере всё очень просто. Сейчас более сложный пример. Представьте, у вас есть форма, но это не очень профессионально, сразу показывать сообщение пользователю если он набрал моё имя. Может быть, он просто ищет какое то программное обеспечение которое я написал. Что нужно сделать, для показа сообщения, в случае если пользователь остается в поиске неоднократно и набирает ваше имя. В любом случае мы должны сделать счетчик и, для примера, будет отображаться сообщение, если пользователь ищет ваше имя три раза подряд.

Во-первых, нужно вызвать функцию session_start () , которая создает новую сессию или возобновление текущей. Затем проверьте, счетчик пасхального яйца устанавливлен в суперглобальном массиве $ _SESSION , а если нет, мы установим его значение к нулю. Каждый раз, когда пользователь ищет мое имя счетчик увеличивается на 1. Во всех остальных случаях сброс счетчика. В последнем случае, если сообщение было тоже показано.

В результате исходный код выглядит следующим образом:



<?php
session_start();
if (!isset($_SESSION["easter-egg"])) {
    $_SESSION["easter-egg"] = 0;
}
?>
<html>
 <head>
  <meta charset="UTF-8">
  <title>Пасхальное Яйцо!</title>
 </head>
 <body>
  <h1>Пасхальное Яйцо!</h1>
  <h2>Поиск</h2>
  <form method="get" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>">
   <input type="text" name="searched-text" id="searched-text" placeholder="Поиск..." accesskey="s">
   <input type="submit" value="Поиск">
  </form>
<?php
if (!empty($_GET["searched-text"])) {
    echo "<h3>Вы искали: " . htmlentities($_GET["searched-text"]) . "</h3>";
    // Сравнение без учета регистра
    if (strcasecmp($_GET["searched-text"], "Viktor Klim") == 0) {
        $_SESSION["easter-egg"]++;
        if ($_SESSION["easter-egg"] == 3) {
            echo "<p>Я знаю, всё будет здорово!</p>";
            $_SESSION["easter-egg"] = 0;
        }
    }
}
else {
    $_SESSION["easter-egg"] = 0;
}
?>
 </body>
</html>


В заключение

В этой статье показано, как вы можете создать простое пасхальное яйцо. Пасхальные яйца представляют собой интересный способ, чтобы подписать программное обеспечение и, чтобы показать свое творчество, будьте осторожны, чтобы не добавить один в вашей компании программного обеспечения, поскольку последствия могут быть нежелательными. Теперь, каждый раз, когда вы запускаете новую программу, которую вы, вероятно, захотите найти в Интернете, чтобы увидеть, содержит ли она пасхальное яйцо.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML -теги и атрибуты: <a href= http://pixelcom.crimea.ua/"" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>