Я использую codeigniter в течение нескольких месяцев, и для моих первых нескольких проектов я просто поместил все файлы в корень. В этом случае все работает нормально, но чтение руководства по соображениям безопасности предполагает, что системные файлы и файлы приложений должны быть перемещены, тогда как index.php должен находиться в корневом каталоге.
Я начинаю новый проект, возвращаюсь и снова читаю указания и пытаюсь сделать именно то, что они говорят, чтобы сделать это время. Однако у меня возникают проблемы с пониманием следующих инструкций, приведенных в эта страница из руководства:
Итак, читая это, я не совсем понимаю, где я должен положить файлы. В настоящее время, как разархивированный, это папка, которую я назвал codeigniter, со всеми файлами ci: системой, приложением, руководством пользователя, index.php и т. Д.
Итак, мой новый веб-сайт в настоящее время имеет такую структуру:
—www.mywebsite.com
—— Открытый
Должен ли я сделать это так?
--www.mywebsite.com
-----codeigniter
--------application
--------system
--------assets
--------user manual
-----------Public
______________index.php
Так в основном только index.php будет в моем корне? (А может быть, активы и руководство пользователя, если я хочу?)
Я где-то читал, что если я перемещаю системные файлы и файлы приложений, мне нужно изменить их путь — это должно быть достаточно просто, но я хочу убедиться, что я правильно понимаю, что предлагает руководство ci, прежде чем вкладывать все время в новые настройки работают правильно.
Любая помощь приветствуется!
вы можете сделать что-то вроде этого
www.mywebsite.com (папка, в которой он находится / root) — (например, если AWS — /opt/webapps/mysite/
)
other
- application
- system
- assets
index.php
.htaccess <-- mainly to remove index.php from URL and other stuffs as well
затем в index.php
(в корне)
$system_path = 'other/system'; # Line 100
$application_folder = 'other/application'; # Line 117
При вызове CSS / JS / Images on assets
папка
<link rel="stylesheet" type="text/css" href="<?php echo base_url()?>other/assets/boostrap.css">
Следовательно, вы можете отозвать разрешение на системную папку с помощью .htaccess
, (Они (команда Codeigniter) уже сделали это). Если вы открываете системную папку, есть файл с именем .htaccess
, Откройте его, вы можете увидеть что-то вроде этого
<IfModule authz_core_module>
Require all denied
</IfModule>
<IfModule !authz_core_module>
Deny from all
</IfModule>
Что я предлагаю вам сделать из безопасности
base_url()
правильноРесурсы ссылок
Других решений пока нет …