Методы проверки на правильность заполнения полей Защита сайта Статьи, информация, Создание сайтов в Рязани

Ул. Горького д.86, оф.14 Наш E-mail +7 (4912) 25-84-24
Создание сайтов в Рязани
Создание, раскрутка, оптимизация сайтов.
Главная | Статьи | Наши работы | Цены | Заказать | Контакты
Новости

18.04/2015
Разбработка мобильной версии Желтых Страниц Рязани
и доработка личного кабинета.

10.02/2015
Новый хостинг парнтер.

Разделы:
Изготовление сайтов

Оптимизация сайтов

Раскрутка сайтов

Размещение сайтов

Спецпредложения

Оригинальный подарок к новому году


Защита сайта
Как защититься от взлома сайта и хотлинка.

Методы проверки на правильность заполнения полей



Как вы знаете, большинство скриптов, представленных в Web, ориентированы на работу с пользователем. Но для того, чтобы её начать, нужно, как правило, заполнить форму (в Интернете они встречаются повсеместно). Наивно полагать, что искушенный юзер с первого раза выдаст правильную, а главное корректную, информацию о себе. Конечно, правильность его имени и реальность земного адреса проверить мы не сможем, но вот то, как они введены, пожалуйста.
Представим, нам нужно создать программу, спрашивающую у посетителя его имя, e-mail. А также попросим придумать пароль и ввести по желанию комментарий. Если вы знакомы с HTML, то должны знать, что каждое поле в форме должно иметь имя. Итак, имена: name (Имя), mail (E-mail), password (Пароль), rpassword (Повторный пароль), comment (Комментарий). Для тех, кто ничего не понял, приведу исходный код нашей формы (кстати, его мы будем вставлять прямо в код PHP):

Фрагмент form.php
$form = “
<form name = form method = post action = form.php>
<input type = hidden name = seenform value = yes>
Имя:<BR>
<input type = text name = name><BR>
E-mail:<BR>
<input type = text name = name><BR>
Пароль:<BR>
<input type = text name = name><BR>
Повторите пароль:<BR>
<input type = text name = name><BR>
Комментарий:<BR>
<textarea name = comment></textarea><BR>
<input type = submit name = submit value = Отправить!”

Непонятная с первого взгляда строка <input type = hidden name = seenform value = yes> поможет нам узнать, заполнялась ли форма данным пользователем или ещё нет. А вот значение $form = “…” объясняется тем, что мы собираемся интегрировать форму напрямую с PHP.
Теперь, когда готова основа, можем начинать её наполнение. Вспомним про поле с именем “seenform”. Итак, вот зачем оно было нужно:

if ($seenform != ‘yes’):
print $form;
else:

Если значение формы не равно ‘yes’, отобразить форму. В обратном случае работает код, следующий за словлм else. Форма заполнена, можно начинать проверку. Но для начала условимся, что
1. Кол-во символов в поле «Имя» и «E-mail» не больше, чем 40;
2. Кол-во символов в поле «Пароль» не меньше, чем 3;
3. Кол-во символов в поле «Комментарий» не больше, чем 450;
4. «Пароль» должен состоять только из латинских букв или цифр;
5. Все поля, кроме «Комментарий» должны быть заполнены!

Проверка на заполнение полей:

if ($name == “” or $mail == “” or $password == “” or $rpassword == “”)
{
print “Заполните все необходимые поля!<BR>”;
$er = 1;
}

Переменная $er = 1 значит, что была ошибка. В конце проверки мы это учтём.

Проверка на длину введенного имени:

if (strlen($name) > 40)
{
print "Имя не должно быть длиннее, чем 40 символов!<BR>";
$er = 1;
}

Проверка на длину введенного E-mail’a:

if (strlen($mail) > 40)
{
print "E-mail не должен быть длиннее, чем 40 символов!<BR>";
$er = 1;
}

Проверка на длину введенного пароля:

if (strlen($password) < 3)
{
print "Пароль не должен быть короче, чем 3 символа!<BR>";
$er = 1;
}

Проверка на длину введенного комментария:

if (strlen($comment) > 400)
{
print "Комментарий не должен быть длиннее, чем 450 символов!<BR>";
$er = 1;
}

Проверка на корректность введенного E-mail’a:

if (!eregi("^([0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\.[a-wyz][a-z](fo|g|l|m|mes|o|op|pa|ro|seum|t|u|v|z)?)$", $email) and $email != "")
{
print "Вы ввели некорректный e-mail адрес!<BR>";
$er = 1;
}

Проверка на корректность введенного пароля:

if (!eregi("^([A-Za-z0-9А])", $password) and $password != "")
{
print “Имя должно состоять из латинский букв и/или цифр!<BR>”;
$er = 1;
}

Проверка на соответствие первого и второго пароля:

if ($password != $rpassword)
{
print “Введенные пароли не совпадат!<BR>”;
$er = 1;
}

Вот вроде бы и всё, проверка окончена. Теперь вспомним о $er = 1; Если ошибок встречено не было, то и переменная $er никогда не будет иметь значение. Так,

if ($er == “”) // нет значения переменной
print “Все поля заполнены правильно!<BR>”;
endif; // окончание цикла!

То, что мы написали, является обязательным моментом при создании гостевых книг и прочих формосодержащих вещей. В принципе, можете вносить свои изменения или ещё чего. Но главное, если Вы чего-то не знаете, то всегда можно посмотреть ЭТО у других. Плагиат хоть никто и не любит, но запретить никто не может! Философия:)=!

Автор: ademan aka Михаил Хорошун


Дата публикации: 09/02/2015
Прочитано: 13088 раз
Дополнительно на данную тему:
Защита от hotlinking
Система защиты веб-портала. Часть 1
Система защиты веб-портала. Часть 2
Фильтрация данных в PHP
Безопасное программирование на PHP
SQL взлом
Советы по защите сайта
Что же делать? Как защититься от хаксоров?
Как защитить сайт
Хранение файлов за пределами корневого каталога документов

Назад | Начало | Наверх