К сожалению, с продуктом, который я выкатил, blackhatters обнаружили, что они могут получить доступ к незащищенному каталогу, где у меня были zip-файлы. Я использую PHP для обслуживания этих архивов с помощью readfile (), поэтому обычно в моем приложении люди не получают доступ к этим файлам по URL. Итак, чтобы решить эту проблему, я поместил в этот каталог пустой файл index.php. Проблема в том, что люди, читающие на форумах настоящие имена zip-файлов, могут загрузить их, просто набрав URL-адрес, и, к сожалению, моя система доставки продуктов сложна и не позволяет мне изменить имя этого URL-адреса.
Как мне создать файл .htaccess в этом каталоге, чтобы люди не могли ничего загружать из него по URL-адресу, но разрешить моему коду PHP readfile () продолжать обслуживать этот файл с принудительной загрузкой? Даже если вы только догадываетесь - я принимаю любые предложения на данный момент. Я буду продолжать попытки, пока не найду здесь что-нибудь работающее.
Опять же, мне просто нужно заблокировать прямой доступ браузера к определенным URL-адресам zip-файлов, о которых люди читают на форуме. Я думаю, что код PHP readfile (), который работает через файловую систему, а не через веб-доступ, будет продолжать работать нормально.
Если вы используете readfile()
, вы можете разместить файлы в любом месте за пределами каталога htdocs и получить к ним доступ с помощью php (убедитесь, что он доступен для чтения пользователем (php).
Или (если они у вас должны быть) вы можете добавить .htaccess
с участием:
Order deny,allow
Deny from all
который будет запрещать доступ (через браузер) ко всем, но php (как служба, запущенная локально) по-прежнему может получить к ней доступ через readfile()
.