Лучший вариант, чем хранить модель БД в текстовом файле в среде общего хостинга php - PullRequest
0 голосов
/ 13 декабря 2010

Это скорее концептуальный вопрос, нежели вопрос программирования.

Я разработал систему, в которой я использую слой БД, который отвечает за генерацию запросов и их выполнение.

Чтобы избежать создания запросов, которые не могут быть выполнены, у меня есть упрощенная модель базы данных для каждой таблицы со всеми соответствующими столбцами уровня персистентности. В каждой записи я указываю имя таблицы, а для каждого столбца таблицы - имя, тип и длину. Таким образом, я могу обнаружить как проблемы с именами, так и неверные данные.

Модель не знает данных, хранящихся в таблицах.

Модель хранится в текстовом файле, который существует в файловой системе сервера. Я обеспокоен безопасностью этого решения, поскольку ввод URL-адреса для txt-файла db_model предоставит всю модель данных персистентности приложения.

Как мне лучше справиться с этим?

Я думаю о нескольких вариантах.

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

  2. Перемещение вверх по иерархии файловой системы над корнем веб-сервера и чтение через соединение ftp. Это будет выглядеть плохо при упаковке системы как продукта, хотя, поэтому я не думаю, что этот вариант является жизнеспособным.

Является ли какой-либо из этих вариантов хорошей идеей или я должен сделать что-то совершенно другое?

С наилучшими пожеланиями Ритмическая

Ответы [ 2 ]

1 голос
/ 13 декабря 2010

Простой ответ:

Не следите за этим сами.Ваша СУБД (которую вы используете, кстати?) Будет иметь внутренний механизм для отслеживания этого.Он также имеет свои собственные механизмы для обеспечения приемлемости запросов, которые вы передаете ему.Вот почему мы платим ему большие деньги - пусть он выполняет свою работу так, как его обучают.

0 голосов
/ 13 декабря 2010

Полагаться на СУБД - это, безусловно, один из вариантов, который следует тщательно рассмотреть. Другой вариант - запросить саму БД, если вы чувствуете необходимость проверить ввод - т.е. либо сохранить данные в текстовом файле в самой базе данных, либо прочитать их через с параметризованными запросами или, что еще лучше, считайте схему БД непосредственно из вашей системы БД, что гарантирует, что версия, по которой вы проверяете входные данные, точно соответствует вашей схеме БД

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