[Image] Воскресенье, 22.12.2024, 19:33 [Image]
SEO, технологии, игры, IT новости
[Image] Главная Регистрация Вход [Image]
[Image] Приветствую Вас, Гость · RSS [Image]
Меню сайта

Форма входа
 Блог
Главная » 2011 » Январь » 15 » Функция protect ()
18:14
Функция protect ()

Для того чтобы облегчить генерацию МБ5-подписей и элементов форм, создадим вспомогательную функцию, которую будем использовать для генерации цифровых подписей в HTML-формах. Эта функция имеет имя protect () и следующий синтаксис: protect($name, $value, $secret) где $name представляет атрибут NAME скрытого элемента HTML-формы, $value — текущее значение этого элемента, a $secret — секретную строку, используемую ддя генерации подписи. Эта функция возвращает строковое представление скрытых элементов формы — текущее значение и MDS-подпись. Атрибут NAME подписи MD5 будет определен этой функцией как <name>_checksum, где name — это имя текущей величины, которая будет передана в форму.
Код функции приведен в листинге 15.3.

Листинг 5.3. protect () — генератор цифровой подписи MD5 формы
define('PROTECTED_KEY', 'mysecretword') ;
function my_addslashes($string) {
return (get_magic_quotes_gpc() == 1) ? $string : addslashes($string);
}
function protect($name, $value, $secret) {
$tag - "";
$seed = rad5($name.$value.$secret);
$html_name = $name."_checksum";
$tag = "\n"; '
Stag .= "\n";
return $tag;
НА ЗАМЕТКУ
Забыли, что такое my_addslashes () и urlencode () ? Назначение этих функций рассмотрено в предыдущих разделах этой главы ("Работа с "магическими" кавычками" и "Преобразование и кодирование данных").
На практике функция protect () используется всегда, когда нужен скрытый элемент формы:


Введите сообщение (у вас есть максимум 5 минут):
<INPUT TYPE="text" NAME="mytext" VALUE="">
<INPUT TYPE="submit" Уа1ие="0тправить">
</FORM>

После обработки в PHP-сценарии в клиентском браузере будет отображен следующий HTML-код:

<FORM ACTION="process.php" METHOD=GET>
1 <INPUT TYPE="hidden" NAME="time" VALUE="1037613504">
<INPUT TYPE="hidden" NAME="time_checksum"
VALUE=n3b6f5fa33bb4fb99e68cfle3f5bf5478">
Введите сообщение (у вас есть максимум 5 минут):
<INPUT TYPE="text" NAME="mytext" VALUE="">
<INPUT TYPE="submit" Уа1ие="0тправить">
</FORM>

Теперь, проверив, что скрытый элемент времени соответствует МВБ-подписи, содержащейся в time_checksum (вместе с секретной строкой), можно быть уверенным в правильности данных.


Категория: Все о PHP | Просмотров: 1419 | Добавил: witkom8382 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Copyright MyCorp © 2024
Категории
Оптимизация сайта [592]
Создание сайтов [355]
Заработать в интернете [508]
Технологии [48]
Полезное [392]
Услуги и сервисы [317]
Автоблог [105]
Скрипты для Ucoz [39]
Движок на сайт [10]
Все о Joomla и Drupal [20]
Все о PHP [91]
Поиск
Пользовательский поиск
Статистика


Онлайн всего: 2
Гостей: 2
Пользователей: 0
Seo сайт, технологии продвижения, мета теги, оптимизация сайтов, новости сео, Скрипты, Ucoz

Рейтинг@Mail.ru