Хранение паролей к БД в скрипте пользователя.

Frenk

Guest
Хранение паролей к БД в скрипте пользователя.

Есть система, после авторизации в которой у пользователя генерируется свой сайт.
Типа имя_юзера.хост.ru.
Сама система находится по адресу firm.хост.ru
Есть система управления сайтом - цвета, контент и пр. и пр.
Все лежит в базе данных.
Для каждого пользователя заводится новая таблица <имя_юзера> в базе с настройками сайта.
Итак, сама настройка сайта пользователя лежит на firm.хост.ru
После настройки, пользователь набирает имя_юзера.хост.ru и радуется, наблюдая свой сайт.
Вопрос -
есть скрипт, который лежит на имя_юзера.хост.ru
Там прописаны имя и пароль для подключения к базе. Происходит само подключение и
выборка из его базы необходимых параметров.
Небезопасен ли такой подход? Мот что-нить присоветуете?
Заранее благодарю.
 

Demiurg

Guest
а базы у всех одинаковые ?
пользователи просто получают сайт, и ничего с ним не делают дальше ?
 

Frenk

Guest
База общая для всех. В базе есть таблицы с именами пользователей. В каждой таблице - херова туча записей по, определяющих вид сайта. Делай с ним что хошь и как хошь.
Похоже на админку vBulletin.
 

Frenk

Guest
В базе есть таблицы с именами пользователей
Я хотел сказать, что таблицы называются по имени пользователя. Т.е. сколько юзеров, столько и таблиц.
 

Demiurg

Guest
а почему не хранить все в одних таблицах ?
 

Frenk

Guest
Думал над этим. Тут вопрос гибкости и ... размера.
У меня сейчас таблица вида (упрощенно):
<id> <название элемента> <Значение элемента>
Все! Нужен новый элемент - нет проблем.
Представь - 1000 пользователей, для каждого примерно 100 записей. Какая таблица получится?
Можно и так:
<id><элемент1><...><элемент n><Какого юзера>
Такой вид не приемлем.
 

Demiurg

Guest
100 000 ну и что ?
состаляем правильно индекс и вперед.
 

Frenk

Guest
ТОбишь делаем так -
<id> <название элемента> <Значение элемента><Какого юзера>
Так?
Ок. Может быть.
Все равно данные вытаскивать надо... Что с этим?
есть скрипт, который лежит на имя_юзера.хост.ru
Там прописаны имя и пароль для подключения к базе. Происходит само подключение и
выборка из его базы необходимых параметров.
 

Demiurg

Guest
ну так вытаскивай ... просто у тебя все запросы будут фильтораться по юзеру.
 

Frenk

Guest
Вопрос безопасности волнует. Или хрен с ней. Нормально все.
Ок.
Потом.
Про индексы <правильные > поясни.
 

Demiurg

Guest
>Про индексы <правильные > поясни.
составной нужен, в данном случае
(пользователь, название элемента). именно в этом случае ... хотя, если их всего сто, то может достаточно будет только пользователя
 

Frenk

Guest
Ок. Спасибо, трошки успокоил...
Но, как думаешь, если через год успешного фунциклирования ;-) будет гора юзеров, и управляющих элементов не 100, а 500 или 1000.
:-(
Хотя, за это время можно и движок полностью переписать.
Ладно, спасибо, Demiurg
 

Demiurg

Guest
а ты думаешь 1000 таблиц будут работать быстрее ?
каждая таблица - это 3 файла
 

Frenk

Guest
НУ, как тебе сказать...
Ведь в этом случае не надо будет выбирать по ключу нужные записи из кучи. Просто каждый юзер работает со своей таблицей. Остальные не задействуются. Естественно, будет быстрее.
 

Demiurg

Guest
Ага, только перед тем, как начать работать со своим файлом, нужно этот файл найти. Не каждая файловая системы быстро ищет один файл из 10000.
 

Yurik

/dev/null
есть скрипт, который лежит на имя_юзера.хост.ru
юзеры ФТП (или шелл) доступ имеют? если нет - то не о чем париться.
К тому же насколько я понимаю можно все через один виртхост сделать с mod_rewrite. Ставишь в ДНС *.хост.ру и * mod_rewrite перенаправит в http://host.ru/index.php?user=*

Хранишь пароль к БД в index.php и все будет секьюрно.
Админовку точно так же делаешь.

Насчет таблиц - послушай Demiurg. Так быстрее и главное удобнее будет (можно статистику делать, поиск, проще бекап). А 100тис. записей с индексами это для мускула пустяк
 
Сверху