Как защитить файлы, созданные / импортированные composer? - PullRequest
1 голос
/ 24 февраля 2020

Я только что установил composer для управления зависимостями моего проекта.

Но у меня возникает проблема: как защитить файлы, созданные composer?

Не должно ли быть файла .htaccess в root из vendor? (для моего случая в папке root папки libsproduction)

Вот мой файл composer.json:

{
  "config": { 
    "vendor-dir": "libsproduction/" 
  },
  "require": {
    "spipu/html2pdf": "^5.2",
    "phpmailer/phpmailer": "^6.1",
    "tinymce/tinymce": "^5.2",
  }
}

1 Ответ

2 голосов
/ 24 февраля 2020
Файлы

Composer (как каталог vendor, так и сами файлы composer.json и composer.lock) не должны находиться в общедоступном месте.

Но сделать это невозможно создать .htaccess или нечто подобное в веб-сервере, отличном от Apache. То, что вы должны сделать, это обслуживать каталог, отличный от каталога, содержащего эти каталог и файлы. Не изменяя имя vendor, как вы это делаете.

Для большинства (если не для всех) основ composer основ, как правило, это делается для создания "publi c" или " каталог "web", который вы бы сконфигурировали на своем веб-сервере для фактического обслуживания, и поместите туда файл (ы) записи приложения. точка будет public в этом сценарии. Таким образом, посещающие пользователи не могут напрямую видеть ничего, что находится вне этого каталога.

Чтобы загрузить автозагрузчик composer, чтобы все классы пакетов были доступны, вы просто делаете что-то вроде:

// public/index.php
require dirname( __DIR__ ) . '/vendor/autoload.php';

/* your application/script logic goes here /*

Таким образом, вы также можете поместить любой другой файл, который не должен быть доступен пользователю (конфигурация, журналы, кэш и т. Д. c), на один уровень выше общедоступного каталога, и у вас меньше работы для защиты ваших конфиденциальных файлов.

...