Улучшена безопасность PHP, сохраняя файлы вне публичной папки?

Языки, такие как Perl, Pythong и т. Д., Как правило, считаются более безопасными по сравнению с PHP. Помимо возможных явлений безопасности, одна из причин может быть (я не знаю, я спрашиваю), что мы не помещаем исполняемые файлы Perl и Python в общую папку. Поскольку файлы PHP не являются исполняемыми, безопасно хранить их в общей папке.

Является ли разумным и практичным подходом поддерживать файлы php вне общей папки, чтобы ограничить доступ к ним злоумышленниками? Если да, то это распространено? потому что я не вижу недостатков (кроме немного более сложной обработки распространения файлов в разных местах); но если это выгодно для повышения безопасности, это стоит рассмотреть. Поскольку я не знаю, как хакеры присоединяют сайт на основе php, я не знаю, как это может улучшить безопасность.

Является ли разумным и практичным подходом поддерживать файлы php вне общей папки, чтобы ограничить доступ к ним злоумышленниками?

Да.

Если да, то это распространено?

Да.

но если это выгодно для повышения безопасности,

Ваше PHP-приложение, как правило, состоит из нескольких отдельных файлов. Обычно они будут включены в другие файлы. Например, у вас может быть:

index.php lib/db.php lib/auth.php 

В этом примере, поскольку все файлы находятся в корневом каталоге документа, внешний пользователь может попасть в URL-адрес http://domain.com/lib/auth.php и запустить этот файл, который напрямую связан с независимой системой auth, которая должна быть используя его. Будет ли он делать что-нибудь плохое, когда бежит сам по себе? Возможно нет. Но чтобы быть в безопасности, вы должны перемещать файлы include за пределами корневого документа, что делает невозможным его непосредственное использование веб-сервером.

(Обратите внимание, что эта уязвимость не является исключительной для PHP, и поэтому сохранение ваших библиотек вне корневого документа является хорошей практикой, независимо от платформы.)