Может ли кто-нибудь помочь мне с созданием файла .htaccess или как я могу ограничить доступ к определенным местам.
Все мои файлы, доступные для пользователей, находятся в / var / www / website
, однако у меня также есть еще несколько папок, например / var / www / website / secrets, var / www / website / tools
, что я хочу, чтобы они были недоступны из веб-браузера.
Моя основная проблема в том, что у меня есть cronjobs, выполняющие php-скрипты из var / www / website / tools
, и я также не хочу отказывать им в доступе.
Чтобы заблокировать весь веб-доступ к этим каталогам, в каждый из них просто бросьте файл .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 на эту тему - это действительно очень информативно и полезно: