CakePHP: плагины в производственной среде


В производственном развертывании у вас не будет папки /app в общедоступном веб-корне; достаточно одной небрежной ошибки, чтобы превратить частные бизнес-ресурсы, такие как файлы PHP, в открытый текст в Интернете. В расширенных и производственных инструкциях по установке в книге описывается, как топологически изолировать каталог webroot, чтобы вы могли сделать папки, содержащие файлы PHP, доступными для чтения только вам. Эта техника отлично работала для меня некоторое время, но теперь я хотите использовать и разрабатывать плагины.

Книга CakePHP опускает обсуждение плагинов в производственных развертываниях. Для тех из вас, кто использует CakePHP в производстве с плагинами, как сделать ресурсы в каталоге webroot данного плагина общедоступными?

Создаете ли вы папку plugins в webroot, а затем символически связываете plugins/my_plugin_name с плагином webroot? Вы вручную копируете папку webroot плагина в webroot? Ты кусаешь пулю и просто переместите папку плагинов в webroot? Вы используете какой-нибудь модный плагин для подачи контента?

Какое лучшее решение?

Author: P. Myer Nore, 2010-11-22

1 answers

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

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

С другой стороны

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

 0
Author: Stephen, 2010-12-15 23:38:34