Дадим отпор грубой силе!
Докучаев Дмитрий aka Forb
Xakep, номер #059, стр. 059-062-4
Для проверки параметров формы вовсе не обязательно использовать внешние файлы с процедурами, типа ReadParse. Достаточно подключить модуль CGI, чтобы затем вызвать функцию param() для определения значений формы. К примеру, чтобы вытащить содержимое из поля number, пришедшего скрипту, достаточно сделать следующее:
#!/usr/bin/perl
use CGI qw(:standard);
$number=param('number');
Удобно? Несомненно! Это лучше, чем изобретать велосипед и писать свои функции для извлечения переменных из формы.
Абсолютная безопасность
На данный момент защита проекта кодовым изображением - самый надежный способ обезопасить себя от хакеров, скрипткидисов, флудеров и прочих сетевых говнючков. Но не стоит окончательно расслабляться. Ведь технологии постоянно развиваются, и, возможно, скоро на паблик выйдет модуль, который сможет анализировать картинку и вытаскивать из нее цифры. Поэтому, чтобы усложнить задачу хакеру, ставь на картинку дополнительный фон и пиши нестандартными шрифтами.
Вот на этой оптимистической ноте я и попрощаюсь с тобой. Желаю, чтобы все твои проекты были защищенными, и тогда ни один хакер не сможет посягнуть на твою виртуальную территорию.
Применение GD-защиты
GD-защита применяется во многих серьезных проектах. Например, эту технологию использует www.e-gold.com. Также защиту кодом можно увидеть на различных смс- или пейджер-гейтах. Делай выводы. Картинки с кодом - это действительно эффективная защита от флуда хакеров.
Другие модули
На странице www.perl.com/CPAN/modules/01modules.index.html ты найдешь множество модулей-примочек для GD. Все они используют базовый GD.pm, но наделены различными функциями. GD-Graph3d, например, умеет рисовать трехмерные изображения. Для некоторых это суперполезный модуль.
Открытие готовых картинок
Чтобы открыть уже готовое изображение, а затем наложить на него дополнительные данные с помощью GD, используй следующий блок кода:
open(JPG, "picture.jpg");
$image = GD::Image->newFromJpeg(JPG, 1);
Цифра 1 указывает здесь на использование true-colors. Без этого параметра твое изображение будет содержать всего лишь 256 цветов.
Инфа о CD
На нашем CD ты найдешь полную версию вышеописанного скрипта (можно взять и отсюда - kamensk.net.ru/forb/1/x/gd.tar.gz). К тому же на компакте лежат все необходимые библиотеки и модули, использующие GD.
В старых версиях можно было использовать и формат gif, но его убрали из-за патента на LZW, который получила компания Unisys.
GD дает огромный выбор возможностей наложения различных геометрических фигур на картинку.
На экране у тебя появится черный квадрат с числом 1000. Поздравляю, ты только что научился выводить динамические картинки! :)
Теперь нам надо связать картинку с HTML-формой. Главное - не вздумай делать hidden поле с номером на картинке.