Файловый архив (+сис-ма управления пользователями)

Гость18 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
12.12.2006

О проекте

-------------------

Нужно организовать файловый архив, с ограниченным доступом.

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

1)Пользователь получает доступ на определенное кол-во суток. По истечении периода, доступ автоматически блокируется.

2)Длительность доступа также лимитируется системой поинтов. Система поинтов базируется на счетчике скачиваний.

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

При достижении нуля, доступ блокируется.

О требованиях к системе управления пользователями подробнее указано ниже.

Реализация

----------------------

Планируется использовать файловый архив на сервере небольшой мощности (p-4-3.0 / 1024/ nginx + апач).

Далее предложен вариант доработки системы управления пользователями на основе Deadlock: www.phpdeadlock.org

Принимаются любые предложения по реализации (возможно есть готовые наброски - предлагайте!)

Например, если есть вариант установки суточного лимита выкачки по каждому пользователю - можно отказаться от счетчика скачиваний и системы поинтов.

Deadlock, доработка

-----------------------------------

!!!Сразу нужно учесть, что htaccess не будет, будет конфиг нгинкса!!!

Вся скудная функциональность деадлока должна быть использована + предусмотрено следующее:

-Предусмотреть возможность (в форме регистрации юзера) сделать необязательными все поля, кроме: логин, пароль1, пароль2, мейл (настройку вывести в editconfig);

-Неактивированные юзеры автоматически удаляются через N дней (настройку вывести в editconfig).

-Добавить, блокировку активного юзера по истечении N дней (настройку вывести в editconfig).

-В editconfig добавить установку времени жизни сессии.

-В editconfig добавить возможность авто саспенда юзера при N заходах с разных IP.

-Залогинится юзер может только со страницы с формой. При прямом обращении к файлу или папке - редирект на форму.

-Если пользователь залогинился, после drug'n'drop файла в менеджер закачки, закачка должна начинаться без проблем (т.е. чтобы не было нужды указывать вручную логин/пароль).

Система поинтов для скачивания файлов (счетчик скачиваний)

--------------------------------------------------------------------------------------------------------------

При активации пользователя, ему по умолчанию доступно N поинтов для скачивания файлов (число поинтов может быть установлено админом по каждому юзеру).

Реализовать систему поинтов можно по принципу download counter, например:

http://www.mikeleigh.com/dev/downloadcounter

-Ссылка со счетчиком должны быть пригодна для drug'n'drop.

-Файлов будет много, 1000++

Админ панель по управлению счетчиком.

При добавлении нового файла доступны поля:

1) Путь к файлу.

2) Размер файла.

3) Описание (скорее всего будет = имени файла).

Вывод (таблица) статистики файлов, поля вывода:

1) Описание (имя файла).

2) Размер

3) Количество скачиваний

При клике на запись - подробная инфа по файлу. Таблица состоит из:

1) Качавшие пользователи (логины) - все обращения, включая повторные.

2) IP с которых совершались закачки.

3) Дата и время скачивания

Возможность сортировки таблицы по каждому из полей.

----------------------------------------------------------------------------------------------------------

Админ панель редактирования юзера.

Вывод данных представлен таблицей:

1)Дата активации (не меняется)

2)Дата саспенда.

3)История скачанных файлов (имена в нормальном виде, не id)

4)IP каждого захода.

5) Кол-во поинтов для скачивания.

6) Логин (не меняется).

7) Пароль.

8) Мейл.

Поле 3) - есть возможность стереть записи (одним кликом, с подтверждением).

Поле 4) - есть возможность стереть записи и возможность стереть только одинаковые записи.

Общий вывод (таблица) юзеров:

- логин

- дата активации

- дата саспенда

- число доступных поинтов

- кол-во скачиваний общее

- кол-во скачиваний за сутки

- индикатор: активен/неактивен

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

- счетчик IP (учитываются только IP из одной подсети)

- ссылка (иконка) "редактировать пользователя" (уже существует)

- ссылка (иконка) "отправить пользователю мыло (без веревки)" (уже существует)

- ссылка (иконка) "удалить пользователя" (уже существует)

добавить возмжность сортировки таблицы по каждому из вышеперечисленных параметров.

В панель юзера добавить поля:

1) Дата истечения валидности акка

2) Кол-во доступных поинтов

---------------------------------------------------------------------

Жду предложений по срокам и цене.

Возможна частичная предоплата: 20-30%, в случае наличия твердой репутации :)

Возможна пошаговая оплата

PS Готового решения нет, самые лучшие варианты из найденного:

http://www.amember.com/demo/admin/

(не подходит для файлового архива)

http://www.opencrypt.com/demonstration.html

(реализован на перле, перл с нгинксом не живет).