Система регистрации и управления пользователями

Иван17 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
29.10.2010

Мне нужна основа системы управления пользователями.

Регистрация и управление пользователями. Особое внимание уделить безопасности - проверке данных и оформлению.

В общем обычная админка, только с расширенным управлением прав доступа.

мне нужна заготовка а я к ней потом сам буду прикручивать модули

С одной стороны я думал использовать что-то бесплатное, например отсюда http://www.woweb.ru/load/94

но всё-таки мне нужно потом всё очень сильно под себя переделывать и добавлять, так что мне проще если будет основа с заложенными функциями, куда я смогу добавить свои поля.

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

В первую очередь мне нужна страничка на которой без перезагрузки проверяются данные в заполненных полях (как я ранее написал), а во вторую мне нужен алгоритм для организации прав доступа группами. Т.е. есть таблица в которой перечислены все страницы. Есть пустая таблица с группами. Я добавляю запись в таблицу групп и проставляю галочки, разрешён ли этой группе доступ на конкретную страницу. Ещё нужен кусок кода, который я буду вставлять в эти странички, который проверяет - можно ли этому пользователю тут находится (т.е. состоит ли он в той группе, у которой есть сюда доступ).

Функции проверки данных:

- заполнено ли обязательное поле

- есть ли в базе такое же значение в заданном поле таблицы (если есть, то типа ошибка - введите другое значение)

- встречаются ли в набранном пользователем поле недопустимые символы (какие символы недопустимы перечислено в таблице через запятую)

- является ли поле email-ом (текст @ текст . текст)

- вывод формы для выбора даты рождения (день, месяц, год - выпадающие списки, с 1930)

- выбран ли radio бокс если это обязательное поле (по умолчанию ни один не выбран)

- являются ли данные числом

- совпадают ли введённые пароли

- степень надёжности пароля (любой пример из гугла)

Попробую максимально подробно...

1) страничка anketa.php c формой, в ней поля

- логин

- пароль

- повтор пароля

- email

- дата рождения

- параметр 1 числовой

-текстовое необязательное поле

и кнопка отправки. При вводе данных проверка автоматически без перезагрузки странички, если проверка не пройдена, то поле подсвечивается красным и правее появляется комментарий. Если поле заполнено правильно, оно подсвечивается зелёненьким. Кнопка отправить активна только когда все обязательные поля заполнены правильно.

2) *этот пункт можно опустить, он у меня уже реализован, но для полноты восприятия опишу:

когда форма отправлена, данные добавляются в таблицу anketa с уникальным номером и со статусом 0 (новая)

есть страничка admin_anketa.php в которой отображаются все анкеты со статусом 0 и 1 (под вопросом). Напротив каждого номера анкеты 0 кнопка одобрить и отклонить. Если жмём отклонить - статус меняется на 3 (отклонена). Если жмём на одобрить - статус меняется на 2 (одобрена) и данные из анкеты заносятся в таблицу users. Каждый пользователь из таблицы users по умолчанию попадает в группу 1.

3) Группы. Есть таблицы groups и pages. Есть странички, например page1.php, page2.php, page3.php. Они перечислены в таблице pages. В страничках есть проверка на доступ.

Есть страничка admin_groups.php. В ней я могу создавать/редактировать/удалять группы.

Например, я хочу создать группу МОДЕРАТОРЫ и разрешить ей доступ к страничке page1.php и page2.php, но запретить к страничке page3.php. Затем я открываю пользователя 1 из таблицы users и присваиваю ему группу МОДЕРАТОРЫ. Он заходит на страничку, например main.php и у него сверху в меню автоматически генерируется 2 пункта - page1.php и page2.php (потому что он в группе МОДЕРАТОРЫ). он может заходить на эти странички. Но он не может зайти на страничку page3.php , даже если забьёт её адрес вручную.

4) страничка index.php, на которой форма с полями логин/пароль, галочка "запомнить меня" и время сессии (из выпадающего списка). Если пользователь не авторизировался - он не может попасть на любую страничку, а после авторизации он попадает на страницу main.php

срок 1 неделя