Скрипты авторизации дело интимное но общий принцип таков.
Юзер может быть не юзером, а скриптом. Поэтому проверять надо все с начала до конца. Это гемор и легче водрузить его на субд. Например вместо real_escape_string() послать как есть, в кавычках конечно, и получить ошибку в случае если юзер-скрипт послали неудобоваримое. Потому что если послали правильное - оно сразу проканает без проверок в скрипте и не надо думать что логин теперь не совпадет, или пароль покоцали случайно. Например та самая real_escape_string() запросто выкосит кириллицу если коннект не установлен в правильную кодировку.
хтмл, если политика не допускает, только проверяется и юзеру доводится политика.
Начать надо с бд, с таблицы юзеров.
create table users (
user_id int unsigned auto_increment primary key,
login varchar(64) not null unique key,
pass varchar(255) not null,
flag set('guest', 'user', 'admin')
);
flag --- как самый элементарный способ завести роли
|