|
|
|
| Допустим, загружаем файл примерно таким образом:
<?php
umask(022);
if(move_uploaded_file($_FILES['file']['tmp_name'], "./data_uploads/".$_FILES['file']['name']) !== false) {
// OK
}else{
// ERROR
}
?>
|
^^^ Тут ничего удивительного...
Далее в папку "data_uploads" закидываем файл .htaccess с таким содержанием:
Теперь, по идее, доступ к файлам в этой папке "из вне" закрыт, НО у меня почему-то всё равно файлы доступны...хотя в других случиях "deny from all" нормально срабатывает...
Есть догадка, почему такое может быть: может "deny from all" не действует на те файлы, которые под владельцем PHP ? Хотя, вроде, не должно так быть... | |
|
|
|
|
|
|
|
для: [Fernus]
(18.01.2009 в 11:42)
| | НО у меня почему-то всё равно файлы доступны...
доступны каким образом?
deny from all
Запрещает прямой доступ (читай просмотр) файла из браузера. | |
|
|
|
|
|
|
|
для: Valick
(18.01.2009 в 11:56)
| | В браузере они ДОСТУПНЫ...я про это и говорю. | |
|
|
|
|
|
|
|
для: [Fernus]
(18.01.2009 в 11:42)
| | А директива AllowOverride в httpd.conf какая установлена? | |
|
|
|
|
|
|
|
для: Саня
(18.01.2009 в 13:08)
| | All
Да и в других случиях нормально всё работает.
Например в корне сайта, если прописать в .htaccess:
deny from all
то всё срабатывает...сайт недоступен... | |
|
|
|
|
|
|
|
для: [Fernus]
(18.01.2009 в 13:27)
| | Если у Вас есть доступ к серверу, то зачем тогда вообще использовать .htaccess? Проще это все прописать в основном конфиге сервера, к тому же именно такой путь и является рекомендуемым.
А перезапустить сервер пробовали? | |
|
|
|
|
|
|
|
для: Sergeich
(18.01.2009 в 13:35)
| | Пробовал и через httpd.conf напрямую запрещать чтение файлов...всё равно не срабатывает именно на ту папку в которую грузятся файлы... | |
|
|
|
|
|
|
|
для: [Fernus]
(18.01.2009 в 11:42)
| | Вообще так и должно быть (исходя из Вашей фразы "файлы, которые под владельцем PHP")
Иначе следуя подобной логике, любой пользователь мог бы управлять данными и хостами другого.
PHP я так понимаю - как модуль апача. Open_basedir затирать пробовали? | |
|
|
|
|
|
|
|
для: USED
(19.01.2009 в 10:00)
| | >PHP я так понимаю - как модуль апача. Open_basedir затирать пробовали?
Да, PHP как модуль Apache.
Open_basedir затирать не пробовал. Поможет? И безопастно ли его затирать? | |
|
|
|