Перевірка коректності даних на формі засобами javascript

Перевірка і захист даних даних

Звичайно, перевірка даних, введених користувачем в форму і переданих PHP скрипту безумовно повинна мати місце безпосередньо в самому PHP скрипт, щоб користувач помилково не ввів некоректні дані, або не зробив цього навмисно для провокації помилки виконання скрипта. Але, давайте уявимо, що у нас сайт з дуже високою відвідуваністю, припустимо, 10000 візитів на добу і кожен користувач вводить дані в форму і відправляє її на сервер. Припустимо, 50 відсотків користувачів не заповнюють частину полів або заповнюють їх некоректно. Дані передаються скрипту, перевіряються, і форма повертається користувачеві для виправлення помилок. У нашому випадку, при великій кількості користувачів це створить зайве навантаження на сервер і зайвий трафік як для сервера, так і для користувачів.

Усунення проблем при захисті даних

перший приклад

Отже, візьмемо для прикладу таку форму (обов'язковими для заповнення ми визначимо ім'я користувача (sender) і текст повідомлення (msg), так як Email або ICQ у користувача може просто не бути):

Тепер будемо визначати правила, за якими будуть перевірятися окремі поля.

Ім'я відправника (sender) - не порожнє, не коротші, припустимо, 3-х символів, не довше 20.

Номер аськи (ICQ) - якщо вказано, то складається тільки з цифр, не коротші 5 і не довше 9 знаків.

Розмістимо частина ява-скрипта прямо в тезі поля для введення номера ICQ - таке обмеження дозволить користувачеві вводити в це поле тільки цифри

* В Firefox 2.1 і нижче даний скрипт не працює.

Далі необхідно перевірити довжину введеного номера

Текст повідомлення (msg) - не порожнє і, припустимо, не менше 10 символів

Другий спосіб захисту від поганих даних

Тепер до полів обов'язковим для заповнення додаємо:

Тепер визначимо функцію checkreq ()

Тепер «зберемо» окремі блоки, призначені для перевірки конкретних полів в одну функцію, а до форми додамо процедуру, яка буде викликати цю функцію перед відправкою форми PHP скрипту.

Тепер при спробі користувача відправити форму PHP скрипту, управління передається спочатку ява-скрипта, який повертає FALSE якщо буде знайдена хоч одна помилка користувача, курсор буде поміщений в поле, що містить помилку (перше за рахунком), і форма просто не буде відправлена.

висновок

Додаткова інформація по темі

Як отримати роботу на біржі фрілансу володіючи навиками перекладача і грамотною мовою викладу

Опис способів і методів створення безпечних для користувача форм засобами мови програмування PHP

Схожі статті