Где именно разместить файлы codeigniter

Я использую codeigniter в течение нескольких месяцев, и для моих первых нескольких проектов я просто поместил все файлы в корень. В этом случае все работает нормально, но чтение руководства по соображениям безопасности предполагает, что системные файлы и файлы приложений должны быть перемещены, тогда как index.php должен находиться в корневом каталоге.

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

  1. «Установите папки и файлы CodeIgniter на свой сервер. Обычно файл index.php находится в вашем корневом каталоге».
  2. «Для обеспечения максимальной безопасности как системные, так и любые папки приложений должны быть размещены над корневым веб-каталогом, чтобы они не были напрямую доступны через браузер».

Итак, читая это, я не совсем понимаю, где я должен положить файлы. В настоящее время, как разархивированный, это папка, которую я назвал codeigniter, со всеми файлами ci: системой, приложением, руководством пользователя, index.php и т. Д.

Итак, мой новый веб-сайт в настоящее время имеет такую ​​структуру:
—www.mywebsite.com
—— Открытый

Должен ли я сделать это так?

--www.mywebsite.com
-----codeigniter
--------application
--------system
--------assets
--------user manual
-----------Public
______________index.php

Так в основном только index.php будет в моем корне? (А может быть, активы и руководство пользователя, если я хочу?)

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

Любая помощь приветствуется!

1

Решение

вы можете сделать что-то вроде этого

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>

Что я предлагаю вам сделать из безопасности

  1. Задавать base_url() правильно
  2. Используйте методы ввода Codeigniter. (для предотвращения инъекций. узнать больше об этом)

Ресурсы ссылок

  1. Безопасность — Codeigniter.com
  2. Еще немного о безопасности — tutorialspoint.com
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]