Установка защищенного CodeIgniter с помощью Sparks

Установка Sparks предполагает, что вы соблюдаете шаблон установки CodeIgniter по умолчанию; извлекая папки приложений, системы и руководства пользователя вместе с index.php и файл лицензии в ваш веб-корень.

Однако многие из нас вытаскивают приложение и системные папки из корня веб-сайта из соображений безопасности и перенаправляют переменные $system_path и $application_folder в основной файл index.php.

Это разделение стремится сломать установки Spark. В частности, простой пример-искра, используемая в устанавливает инструкции по установке.

Получение ошибки:

Обнаружена ошибка Не удается найти искровой путь в искр/например, искра /1.0.0/

Я поддерживаю следующую структуру каталогов:

  • CISYS
    • V202
    • V200
  • project1_application
  • project2_application
  • project3_application
  • www (public html)
    • project1
      • CSS
      • JS
      • изображения
      • и т.д.
    • project2
      • и т.д.

Что я должен перенаправить для обеспечения безопасности + искры? Открыта для любых предложений. Как настроить свою установку?

Ответы

Ответ 1

Чтобы ответить на мой собственный вопрос: решение было в файле MY_Loader.php. Изменив переменную SPARKPATH в строке 43, можно перенаправить местоположение всех искр! Ура!

Ответ 2

Что я делаю:

У меня есть следующая структура каталогов:

- project_name
- application
- public
    - index.php
    - js
    - css
    - img
    - compressed_assets
    - etc
- sparks
- system
- tmp
- tools

Мой Apache DocumentRoot является... /project _name/public

Таким образом, Apache просто обслуживает публичные активы и index.php(который является шлюзом для CodeIgniter).

Мне не нужно ничего скрывать с помощью .htaccess и я, если я ошибочно удалю .htaccess там никаких открытых данных.

Я даже мог поставить папку css и js на один уровень вниз (но я не потому, что я обслуживаю несжатые ресурсы в некоторых средах (в первую очередь, разработка)).

В теме:

index.php обычно определяет пути системы и приложения с относительным путем, следующим за

$system_path = 'system'; //index.php line 82

$system_path = 'system'; //index.php line 97

Но я предпочитаю использовать абсолютные пути, поэтому у меня есть это:

define('ROOTPATH', dirname(dirname(__FILE__)));
$system_path = ROOTPATH.'/system';
$application_folder = ROOTPATH.'/application';

И внутри константы .php

define('SPARKPATH',ROOTPATH .'/sparks/');

PS: просто заметите, что путь искры не соответствует соглашению CI и имеет завершающую косую черту.