У меня есть репозиторий файлов с расширениями .php, .sh и .txt, который извлекается в веб-каталог моего сервера (/ var / www). Мне нужно, чтобы файлы .php можно было получить, введя URL-адрес, но я хочу, чтобы файлы .sh и .txt были доступны только изнутри, то есть их можно читать и запускать с помощью php или cron, но никогда с помощью пользователь вводит свой URL. Как я могу это сделать на Apache? Нужно ли мне устанавливать разрешения для файлов на что-то, связываться с .htaccess или делать что-то еще?
В верный способ сделать это - переместить файлы вне корня вашего документа - вы просто сбой конфигурации вдали от утечки данных, что никогда не бывает забавным местом. Посмотрите на любой современный фреймворк веб-приложений для примера и исполнения.
Однако для этого в Apache вы просто используете LocationMatch
директива в соответствующем контексте:
<LocationMatch \.sh$>
order deny,allow
deny from all
</Location>