check_form_key — Проверка ключа формы
Описание
boolean check_form_key (string $form_name, [int $timespan = false], [string $return_page = ''], [bool $trigger = false])
Эта функция используется для проверки переданного ключа формы, который был сгенерирован функцией add_form_key.
Замечание: Эта проверка требуется для всех действий, затрагивающих базу данных и еще не защищенных при помощи confirm_box !
Параметры
Параметры | Использование |
form_name | Имя формы; должно совпадать с именем, используемым в add_form_key, во всем остальном нет ограничений. |
timespan | Максимально допустимый возраст отправляемой формы (в секундах). Значение по умолчанию берется из настроек конфигурации. |
return_page |
Ссылка для возврата. Замечание: Это значение используется только в том случае, когда параметр trigger установлен в true |
trigger | При истинном значении (true) функция инициирует ошибку, если обнаружится неверная форма. |
Примеры
Все эти примеры используют значение параметра form_name, заданное в первом примере статьи add_form_token!
Пример №1: Только проверка
Если вы хотите всего лишь проверить, верна ли отправленная форма, вы должны организовать обработчик ошибок в своем PHP-коде.
if (!check_form_key($form_key)) { trigger_error($user->lang['FORM_INVALID']); }
Пример №2: Ограничение по времени
Используя эту функцию, вы имеете возможность ограничивать отправку формы пользователем определенным количеством секунд. Для этого вам нужно передать второй параметр.
// Дадим пользователю 30 секунд для заполнения и отправки данных с формы if (!check_form_key($form_key, 30)) { trigger_error($user->lang['FORM_INVALID']); }
Пример №3: Обработка ошибки
Чтобы позволить функции отлавливать ошибку при проверке, вы должны установить четвертому параметру значение true.
check_form_key($form_key, false, '', true);