У меня есть сервер apache, где в дополнение к моему приложению у меня есть приложение node.js websocket. Проблема в том, что любой пользователь может прочитать содержимое файла, просто переместив его по URL-адресу. Я пытаюсь заблокировать прямой доступ к одному из файлов (мне уже удалось заблокировать папки node.js).Почему я не могу заблокировать один файл node.js в apache?
Я изменяю свой файл конфигурации: apache2/apache2.conf
. Если предположить, что мой файл находится в /var/www/server/node_start.js
я попытался следующее:
<Files /var/www/server/node_start.js>
Order allow,deny
Deny from all
</Files>
<FilesMatch /var/www/server/node_start.js>
Order allow,deny
Deny from all
</FilesMatch>
<Files /server/node_start.js>
Order allow,deny
Deny from all
</Files>
<FilesMatch /server/node_start.js>
Order allow,deny
Deny from all
</FilesMatch>
Ничего из этого не вышло. Я просмотрел другие сообщения, и похоже, что я делаю то же самое, что и другие. Любая идея, почему я терпеть неудачу?
P.S. Я не могу заблокировать весь каталог, потому что есть много других файлов, которые не следует блокировать.
Hm, хороший вопрос. Для меня первый матч '' выглядит вполне нормально. Вы пытались использовать 'htaccess' из локальных папок? Может быть, путь в этом есть проблема. Какова была рабочая директива для блокировки всего каталога? '/ var/www/server' или'/server'? –
ConcurrentHashMap
@ConcurrentHashMap Я не пробовал .htaccess, потому что я пытаюсь сделать это без него. Чтобы заблокировать весь каталог (который я сделал успешно), я использовал: ' Отказаться от запрета, разрешить отклонить от всех ' –
IMHO Я бы просто поместил этот файл 'node_start.js' за пределы папки apache DocumentRoot – pomeh