Установка безопасного CodeIgniter с помощью Sparks - PullRequest
14 голосов
/ 07 июня 2011

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

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

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

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

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

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

  • CISYS
    • V202
    • V200
  • project1_application
  • project2_application
  • project3_application
  • www (общедоступный html)
    • project1
      • 1036 * CSS *
      • JS
      • изображения
      • и т.д.
    • project2
      • и т.д.

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

Ответы [ 2 ]

13 голосов
/ 07 июня 2011

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

1 голос
/ 05 января 2013

Вот как я это делаю:

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

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

Мой Apache DocumentRoot имеет вид ... / имя_проекта / 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';

И внутри constants.php

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

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

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