Функция validate ()

После отправки формы нужно убедиться в правильности данных, проверив все цифровые подписи. Для того чтобы это сделать, необходимо создать функцию validate (). Эта функция имеет следующий синтаксис:
validate(Sinput, Ssecret)
где Sinput является ссылкой на соответствующий суперглобаги>ный массив ($_GET, S_POST и так далее), Ssecret представляет секретную строку, используемую для генерации подписи (в данном случае, строку определенную как PROTECTED_KEY). В огличие от protect (), которая является довольно простой функцией, функция validate () гораздо сложнее по нескольким причинам. Во-первых, должно быть выполнено несколько различных проверок, для того чтобы предусмотреть все возможные попытки злоумышленника манипулировать данными, включая (но не ограничиваясь) следующие:
• Изменение одного или нескольких защищенных значений.
• Изменение одной или нескольких защищенных подписей.
• Удаление одного или нескольких защищенных значений или подписей.
Чтобы определить, удалял или изменял пользователь защищенные значения, функция validated должна знать, какие значения предполагалось защищать. Дтя этого функция validate () ищет скрытые объекты (и их контрольные суммы), атрибут МАМЕ которых является protected_list. Значение этого скрытого элемента является сериализованным массивом, содержащим имена защищенных ключей. Если этот параметр не найден, функция validated проверяет все параметры за следующими исключениями:
• Если элемент формы имеет имя submit.
• Если имя элемента формы оканчивается на ^checksum.
НА ЗАМЕТКУ -
Если вас удивляет то, что функция validated во время проверки игнорирует элементы формы с именем submit, имейте в виду, что это происходит, когда форма обрабатывается тем же сценарием, который ее отображает. В таком случае в форму часто включается скрытый элемент с именем “submit”, чтобы дать понять сценарию, что тот должен обработать форму, а не отображать ее.

Tags: , ,

Related posts


Leave a Reply