<MyRusakov.ru />

Фреймворк Yii 2.0 с нуля. Пример создания сайта

Фреймворк Yii 2.0 с нуля. Пример создания сайта

Видеокурс "Фреймворк Yii 2.0 с нуля. Пример создания сайта" обучит Вас созданию профессиональных сайтов с использованием фреймворка Yii. В курсе есть 2 раздела: теоретический и практический. В теоретическом разделе будут разобраны возможности фреймворка Yii с примерами их использования, а в практической части будет создан сайт Blog.MyRusakov.ru с помощью полученных знаний из теоретического раздела.

Так же почти ко всем урокам идут упражнения для закрепления материала из урока на практике.

После прохождения курса Вы без труда сможете создавать любые сайты с использованием фреймворка Yii, причём делать это будете быстро и качественно.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Капча с арифметическими операциями

Капча с арифметическими операциями

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

Привожу код такой капчи:

<?php
  session_start(); // Начинаем сессию
  $number_1 = rand(1, 100); // Генерируем 1-е случайное число
  $number_2 = rand(1, 100); // Генерируем 2-е случайное число
  $_SESSION['rand_code'] = $number_1 + $number_2; // Записываем их сумму в сессию
  $dir = "fonts/"; // Директория с шрифтами
  $image = imagecreatetruecolor(200, 60); // Создаём изображение
  $color = imagecolorallocate($image, 200, 100, 90); // Задаём 1-й цвет
  $white = imagecolorallocate($image, 255, 255, 255); // Задаём 2-й цвет
  imagefilledrectangle($image, 0, 0, 399, 99, $white); // Делаем капчу с белым фоном
  imagettftext ($image, 30, 0, 10, 40, $color, $dir."verdana.ttf", "$number_1 + $number_2"); // Пишем текст
  header("Content-type: image/png"); // Отсылаем заголовок о том, что это изображение png
  imagepng($image); // Выводим изображение
?>

Код хорошо прокомментирован, поэтому что-либо добавлять не буду, но скажу, что абсолютно также создаются любые другие капчи с арифметическими операциями. Никто не мешает поставить, например, знак умножения вместо знака плюса. Также никто не мешает сгенерировать ещё числа и создавать уже целые выражения. Главное, результат записывать в сессию, чтобы потом можно было проверить правильность ввода пользователем.

Выводится капча элементарно:

<img src="captcha.php" alt="" />

Проверка капчи тоже не намного сложнее:

<?php
  session_start(); // Начинаем сессию
  $captcha = $_POST["captcha"]; // Ответ, который ввёл пользователь
  /* Проверяем правильность ввода капчи (не забывайте проверять на "пустое значение", это очень важно!) */
  if (($capctha == $_SESSION["rand_code"]) && ($captcha != "")) echo "Капча введена правильно";
  else echo "Капча введена неправильно";
?>

Не думаю, что у человека, который знаком хоть немного с PHP, возникнут хоть какие-то трудности с пониманием создания капчи с арифметическими операциями.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (6):

Default Default 12.06.2012 19:11:20

После Вашей стать о регистрации и авторизации перешел сразу к капче. Статья хорошая и понятная, только дело вот в чем $dir = "fonts/" ; // Директория с шрифтами <<< дириктория эта папка в которой лежит нобходимый шрифт? и где взять тот или иной шрифт? а еще можно же создать массив в котором будут 4 интекса, это плюс, минус, умножить, делить и через Вами упомянутую в статье случаного вывода функции rand() выводить случайное арифметическое значение?)

Ответить

Admin Admin 12.06.2012 20:02:59

http://myrusakov.ru/kapcha-php.html

Ответить

kuller kuller 23.06.2012 10:17:29

боты легко решат эту капчу.... надо шума добавить на картинку. можно ещё зделать смену цвета фона рандом. Для этого где задаем цвет заместо одного цвета прописать rand(1,300); уже интересней становится ))) $color = imagecolorallocate($image, rand(1,300), rand(1,300), rand(1,300)); // Задаём 1-й цвет $white = imagecolorallocate($image, rand(1,300), rand(1,300), rand(1,300)); // Задаём 2-й цвет

Ответить

wanderer wanderer 07.07.2012 21:04:36

Хороший урок=)

Ответить

Admin Admin 07.07.2012 21:10:53

Теоретически, боты решат любую капчу, а данная капча служит для защиты от кого попало, коих 99%, поэтому её достаточно. Впрочем, если нужно ещё 0.9%, то можете и дальше защищать, до 99.9%, а взамен выслушивая справедливое недовольство пользователей.

Ответить

Нур-Мохмад Нур-Мохмад 12.07.2012 16:11:01

Сергей, лучше оставить эту капчу, а если Вы хотите дополнительную сложность и защиту, тогда Вы можете сделать такое условие: "Если пользователь с одного IP отправляет одну форму более 5 раз, то - усложнить капчу Вашим способом, для предотвращения спама"

Ответить

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.