Выражайся регулярно!

Никита "Nikitos" Кислицин

Xakep, номер #052, стр. 052-080-3


Примеры. ^x{2,3}$ соответствует "xx" и "xxx", .{2} - любому удвоенному символу, а ^[a-zA-Z0-9]{1,40}@[a-zA-Z0-9]{3,30}.[a-zA-Z0-9\.]{2,40}$ задает e-mail. До знака "@" стоит не более 40 латинских знаков или цифр. После "@" и до "." не более 30 аналогичных символов. После первой точки допускается наличие не более сорока символьных знаков, не исключается также и наличие точек. Это необходимо, если, например, e-mail юзера функционирует на домене третьего уровня.

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

function isemail($email)

{

if(ereg("^[a-zA-Z0-9]{1,40}@[a-zA-Z0-9]{3,30}.[a-zA-Z0-9\.]{2,40}$", $email))

{ return true; } else {return false;}

}

По аналогии работают и остальные функции, надеюсь, ты их запросто напишешь.

Административный интерфейс

Административный интерфейс создается таким же образом. Описывается ряд функций (авторизация, просмотр списка статей, добавление/удаление/редактирование публикации и т.д.) и по аналогии с приведенным примером из них собирается единый блок.

Стоит лишь заметить, что для административного интерфейса проблемы безопасности также актуальны. Так что уж, по крайней мере, функцию авторизации пользователя надо писать как следует. Удачи. Забрать конечную версию системы можно как всегда с моего сайта, либо с диска. Если что-то не получается, пиши, постараюсь помочь.

Назад на стр. 052-080-2  Содержание

Hosted by uCoz