Я могу легко заблокировать запросы к каталогу, используя файл .htaccess с «запретить от всех». Однако я разрешаю разрешить доступ по FTP как через клиентов, так и через браузеры. Есть ли способ ограничить отказ только HTTP-запросами?
Добавление в качестве ответа на основе обмена комментариями:
Apache поддерживает предоставление FTP-сервисов через опционально загружаемый модуль. mod_ftp, но, скорее всего, у вас есть выделенный процесс FTP-сервера, работающий вместе с вашими веб-службами. Выход netstat -anp | egrep ":21.*LISTEN"
в котором перечислены все прослушивающие сокеты на порту 21 (ftp) и имя процесса, в котором сокеты остаются открытыми, должны помочь идентифицировать процесс FTP-сервера.
Я считаю, что mod_ftp использует те же механизмы контроля доступа, что и сервер apache, и просто наследует разрешения, которые вы определили для виртуального каталога или в файле .htaccess. Я не могу найти никаких ссылок на то, что это поведение можно изменить в документация mod_ftp.
Если используется другой FTP-сервер, он, вероятно, не использует директивы .htaccess для управления доступом. См. Соответствующую документацию по программному обеспечению, чтобы узнать, как установить контроль доступа в этом случае.