Andrey Rodin
Новичок
Я работаю над сайтами со своим с нуля написанным кодом. Система расширяемая и пока не вижу причин бросать работу с ней. Единственное, что не могу реализовать, а точнее могу, но есть загвоздка в безопасности.
Система построена, используя концепцию HMVC. Несколько базовых классов, основные модели (разделы, статьи, новости, работа с блоками на сайте), шаблонизатор Smarty - все это формирует основной функционал.
В ходе работы постоянно появляются полезные наработки, которые не плохо бы было добавить в эти базовые классы. Т. к. базовый код с появлением нового сайта дублируется, внесение дополнений довольно трудоемкое занятие. Недавно я выделил базовый код и вынес его. Грубо говоря, раньше вся логика находилась в папке "home/account_name/www/class" , теперь "home/account_name/engine". Точка входа (index.php) теперь подхватывает необходимые классы через autoload-функцию. Логика сводится к следующему:
Первым делом проверяется папка с логикой самого сайта "home/account_name/www/class" на наличие необходимого класса и если он найден, то берем его. Если нет, то берем класс из базового кода.
Таким образом удалось на базе одного скрипта построить четыре сайта, при необходимости дополняя функционал необходимыми классами в папке логики самого сайта.
Кроме того, казалось бы, удалось скрыть реализацию от третьих лиц и предотвратить "кражу", утечку (или как это еще можно назвать?) кода,
Проблема состоит в следующем:
В моем распоряжении VPS сервер. Для каждого клиента имеется свой (user) аккаунт. Есть и личный (admin) аккаунт. Весь базовый скрипт лежит на личном "home/admin/engine". На данный момент "клиенты" используя autoload-функцию через include подключают нужные файлы. Но при желании содержимое всей "базы" можно получить.
Посоветуйте пожалуйста, как предотвратить это. Может где-то это уже реализовано? Спасибо
Система построена, используя концепцию HMVC. Несколько базовых классов, основные модели (разделы, статьи, новости, работа с блоками на сайте), шаблонизатор Smarty - все это формирует основной функционал.
В ходе работы постоянно появляются полезные наработки, которые не плохо бы было добавить в эти базовые классы. Т. к. базовый код с появлением нового сайта дублируется, внесение дополнений довольно трудоемкое занятие. Недавно я выделил базовый код и вынес его. Грубо говоря, раньше вся логика находилась в папке "home/account_name/www/class" , теперь "home/account_name/engine". Точка входа (index.php) теперь подхватывает необходимые классы через autoload-функцию. Логика сводится к следующему:
Первым делом проверяется папка с логикой самого сайта "home/account_name/www/class" на наличие необходимого класса и если он найден, то берем его. Если нет, то берем класс из базового кода.
Таким образом удалось на базе одного скрипта построить четыре сайта, при необходимости дополняя функционал необходимыми классами в папке логики самого сайта.
Кроме того, казалось бы, удалось скрыть реализацию от третьих лиц и предотвратить "кражу", утечку (или как это еще можно назвать?) кода,
Проблема состоит в следующем:
В моем распоряжении VPS сервер. Для каждого клиента имеется свой (user) аккаунт. Есть и личный (admin) аккаунт. Весь базовый скрипт лежит на личном "home/admin/engine". На данный момент "клиенты" используя autoload-функцию через include подключают нужные файлы. Но при желании содержимое всей "базы" можно получить.
Посоветуйте пожалуйста, как предотвратить это. Может где-то это уже реализовано? Спасибо