Как закрыть прямой доступ к файлам в папке через .htaccess, но разрешить если есть ?key=secret?
Нужно запретить прямой URL-доступ к файлам из папки orders на сервере, при этом разрешить доступ по URL'у который содержит определенную GET-переменную key с значением: secret.
Вот к примеру, есть у нас папка orders и в ней файл 1.* - расширение может быть любым, например 1.jpg
Нужно чтобы обращение через /orders/1.jpg - выдавало бы ошибку доступа или переадресацию в 404
И наоборот обращение вида: /orders/1.jpg?key=secret было бы успешным!
Возможно ли такое реализовать с помощью настроек в .htaccess?
p.s.: а в идеале если бы еще можно было secret как-то генерировать - чтобы везде был бы не просто одинаковый ?key=secret, а какой-нить ?key=ХХХХХХХ, где ХХХХХХХ какой-нибудь кэш от имени файла к которому идет обращение.
Возьмите отсюда.
Что касательно разных паролей для разных файлов, то через .htaccess такое сделать не получится. Но если речь идёт о программной обработке, то можете создавать пароль путем взятия хэша файла (а не его имени, это не самая лучшая идея). Но я бы на вашем месте ещё использовал соль.