Блог
Главная » 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 минут:
Категория: Все о PHP |
Просмотров: 1247 |
Добавил: witkom8382
| Рейтинг: 0.0 /0
Добавлять комментарии могут только зарегистрированные пользователи.
[
Регистрация |
Вход ]
Copyright MyCorp © 2024
Статистика
Онлайн всего: 3
Гостей: 3
Пользователей: 0