желательно:htaccess: как перенаправить запрос в запрещенную папку?
- пользователь вызывает
domain.tld/download/file_01.zip
- Htaccess называет
private/download.php
file_01.zip
начинает загружать
Примечание: file_01.zip
должен быть защищен от прямого доступа.
Упрощенная структура папки:
root/
public/
.htaccess
index.php
private/ <<< this area is blocked from direct access >>>
files/
file_01.zip
file_02.zip
.htaccess
download.php
общественности/.htaccess
RewriteRule ^download/(.*)?$ ./../private/download.php?file=$1 [NC,L]
частный/.htaccess (Edit)
<IfModule !mod_authz_core.c>
Order deny,allow
Deny from all
</IfModule>
<IfModule mod_authz_core.c>
Require all denied
</IfModule>
download.php
$file = 'files/'.$_GET['file'];
// check: user allowed to download?
// check: more stuff (security, etc.) ...
forceDownload($file);
В RewriteRule работает, но я получаю сообщение об ошибке Forbidden: You don't have permission to access [...] on this server
, вероятно, потому, что пользователя вызывает запрос, а не на сервер.
Любая идея? Спасибо заранее!
Как вы блокируете доступ к каталогу 'private /'? – Darren
@Darren Пожалуйста, посмотрите сейчас, я добавил содержимое 'private/.htaccess'. Я не могу изменить файл из-за обновления безопасности. –
Если файл/каталог недоступен для Apache, вы не можете получить к нему доступ, _full stop_ – RiggsFolly