Помимо пути .htaccess, я видел полезную модель в различных рамках, например, в ruby on rails. У них есть отдельный каталог pub / в корневом каталоге приложения, а каталоги библиотек живут в каталогах на уровне как pub /. Что-то вроде этого (не идеальное, но вы получаете идею):
app/
|
+--pub/
|
+--lib/
|
+--conf/
|
+--models/
|
+--views/
|
+--controllers/
Вы настроили свой веб-сервер для использования pub / в качестве корня документа. Это обеспечивает лучшую защиту ваших скриптов: в то время как они могут протянуться из корня документа для загрузки необходимых компонентов, невозможно получить доступ к компонентам из Интернета. Другое преимущество, кроме безопасности, заключается в том, что все в одном месте.
Эта настройка лучше, чем просто создание проверок в каждом отдельном файле, поскольку сообщение «доступ не разрешено» является ключом к атакующим, и это лучше, чем .htaccess, потому что он не основан на белых списках: если вы испортили расширения файлов, он не будет отображаться в каталогах lib /, conf / etc.