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

Форма входа
Логин:
Пароль:
 Блог
Главная » 2011 » Январь » 16 » Функции protect () и validate () в действии
17:05
Функции protect () и validate () в действии

Рассмотрим реальный пример. В листинге 5.5 с использованием функций protect () и validate () создается чувствительная ко времени форма, которую пользователь должен отправить в течение 5 минут.

Листинг 5.5. Чувствительная ко времени форма, использующая
функции protect () и validate ()
define('PROTECTED_KEY', 'mysecretword');
function my_addslashes($string) {
return (get_magic_quotes_gpc() == 1) ? $string : addslashes($string);
}
function protect($name, $value, $secret) {
$tag = "";
Sseed = md5($name.$value.$secret);
$html_name = $name."_checksum";
Stag = "\n";
Stag .= "\n";
return $tag;
)
function validate($input, $secret) {
if(!is_array($input)) {
return false;
if(!isset($input['protected_list']) &&
!isset($input['protected_list_checksum'])) {
foreach($input as $key=>$val) {
if(!preg_match("/(submit|_checksum$)/i", $key)) {
$protected[] = $key;
} else {
if(!isset($input['protected_list']) II
!isset($input['protected_list_checksura'])) {
return false;
)
$checkval = 'protected_list' .
stripslashes(urldecode($input['protected_list']))
PROTECTED_KEY;
^checksum = md5($checkval);
if($checksura !== $input['protected_list_checksum']) {
return false;
$protected = unserialize(stripslashes(urldecode(
$input['protected_list'])));
}
foreach($protected as $val) {
if(isset($input[$val."_checksum"]) && isset($input[$val])) {
$temp = urldecode($input[$val]);
$checksum = md5($val.stripslashes($temp).PROTECTED_KEY);
if($checksum != $input[$val."_checksum"])' {
return false;
}
} else {
return false;
I • .
return true;
}
if (isset($_GET['submit1])) {
if(validate(S$_GET, PROTECTED_KEY)) {
if($_GET['time'1+300 > time()) {
echo "Благодарим, " . $_GET['username'] .
", за своевременную отправку!";
} else {
echo "Извините, ваше время истекло!";
}
} else {
echo "Данные не верны!";
$protect_str = serialize(array('time1));
<НТМЬХНЕА0ХТ1ТЬЕ>Пример проверки скрытых элементов формы

Пожалуйста, заполните форму в течение максимум 5 минут:

SEO Продвижение и оптимизация
Категория: Все о PHP | Просмотров: 1159 | Добавил: witkom8382 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Copyright MyCorp © 2024
Категории
Оптимизация сайта [589]
Создание сайтов [355]
Заработать в интернете [505]
Технологии [44]
Полезное [366]
Услуги и сервисы [308]
Автоблог [100]
Скрипты для Ucoz [39]
Движок на сайт [10]
Все о Joomla и Drupal [20]
Все о PHP [91]
Поиск
Пользовательский поиск
Статистика


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

Рейтинг@Mail.ru