Вопрос: Как я могу защитить папку yii вне htdocs с помощью Netbeans


В настоящее время я разрабатываю веб-приложение PHP, которое использует структуру Yii.

Поскольку я хочу предотвратить прямой доступ из веб-браузера к некоторым файлам, требуемым Yii, я переместил как фреймворк, так и защищенные папки вне папки htdocs.

В результате у меня появилась следующая настройка папки:

/ Apache22 / HTDOCS

/apache22/htdocs/myproject/index.php - Загрузочный файл Yii
  / Apache22 / HTDOCS / MyProject / CSS
 / Apache22 / HTDOCS / MyProject / JS
  / apache22 / HTDOCS / MyProject / изображения

/apache22/vendor/yii-1.1.10 - Рамка Yii для внешних документов   корень

 / Apache22 / HTDOCS-частное / MyProject / защищенный
  / Apache22 / HTDOCS-частное / MyProject / время выполнения

Как вы можете видеть, доступен только файл начальной загрузки и некоторые другие необходимые файлы css, js и изображений, которые можно получить непосредственно из веб-браузера. Все остальные файлы, такие как базовая среда Yii и отдельные частные файлы приложений, созданные Yii внутри защищенных и исполняемых папок, находятся за пределами моего корня веб-приложения.

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

Мне интересно, будет ли единственное решение для создания отдельных проектов netbeans: один для части общедоступного веб-сайта, а другой для части частного веб-сайта.

Какие-либо предложения ?

С наилучшими пожеланиями.


7


источник


Ответы:


Хотя это может быть только частично решение вашей проблемы, вы можете добавить дополнительный путь к вашему проекту.

Если предположить, /apache22/htdocs/myproject/ в вашей папке проекта.

  • щелкните правой кнопкой мыши название проекта
  • выберите «Свойства»
  • выберите «PHP Include Path»
  • нажмите «Добавить папку ...»
  • Добавить /apache22/htdocs-private/myproject/

Теперь он должен появиться на левой боковой панели в разделе «Включить путь». Но похоже, что вы не можете совершить сделку оттуда.


2



У меня есть эта структура пути:

NetBeansProjects / MyProject / WWW NetbeansProyects / MyProject / защищенный

Это полностью вне пути веб-сервера. Затем, когда я хочу проверить свой код, я использую простой сценарий оболочки (это может быть байт на окнах), который копирует файлы в нужные места. Поэтому, нажимая F6, когда я хочу протестировать, все становится «развернутым»,

Чтобы иметь возможность сделать этот трюк, вы должны настроить свой проект на выполнение «сценария развертывания» в «Запустите конфигурацию». Вот мой, я уверен, что вы можете адаптировать его для окон:

Беги как:  Скрипт (запуск в командной строке)

PHP-переводчик:  / Бен / Баш

Индексный файл:  up_sync.sh

Рабочий каталог:  / Главная / пользователь / NetBeansProjects / MyProject /

Если файл up_sync.sh будет вашим файлом .bat, который скопирует каталоги в соответствующие места.


0