Apache2 предоставляет доступ к определенным местам (файл .htaccess)

Может ли кто-нибудь помочь мне с созданием файла .htaccess или как я могу ограничить доступ к определенным местам.

Все мои файлы, доступные для пользователей, находятся в / var / www / website , однако у меня также есть еще несколько папок, например / var / www / website / secrets, var / www / website / tools , что я хочу, чтобы они были недоступны из веб-браузера.

Моя основная проблема в том, что у меня есть cronjobs, выполняющие php-скрипты из var / www / website / tools , и я также не хочу отказывать им в доступе.

1
задан 21 January 2018 в 14:27
1 ответ

Чтобы заблокировать весь веб-доступ к этим каталогам, в каждый из них просто бросьте файл .htaccess со следующей строкой:

  • Apache 2.4.x:

    Require all denied
    
  • Apache 2.2.x:

    Отмена заказа,разрешение
    Отрицать от всех
    Все это, конечно, предполагает, что вы настроили AllowOverride  так, чтобы можно было использовать .htaccess файлы. Если нет, то вы можете поместить эти строки в запись virtualhost в глобальной конфигурации, завернутой в нечто подобное:

    <Directory "/var/www/website/secrets">
        ...whichever entry from above here....
    </Directory>
    

    Также, если ваши crons ссылаются на скрипты напрямую (с бинарным файлом PHP) и не делают глупых вещей вроде curl's или wget, то эти .htaccess записи не будут иметь никакого влияния на них, так как это влияет только на веб-трафик (вещи, проходящие через Apache).

    Я также рекомендую прочитать документацию Apache на эту тему - это действительно очень информативно и полезно:

2
ответ дан 3 December 2019 в 20:17

Теги

Похожие вопросы