Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Загрузка файлов в директорию и .htaccess...мистика.
 
 автор: [Fernus]   (18.01.2009 в 11:42)   письмо автору
 
 

Допустим, загружаем файл примерно таким образом:


<?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" нормально срабатывает...
Есть догадка, почему такое может быть: может "deny from all" не действует на те файлы, которые под владельцем PHP ? Хотя, вроде, не должно так быть...

  Ответить  
 
 автор: Valick   (18.01.2009 в 11:56)   письмо автору
 
   для: [Fernus]   (18.01.2009 в 11:42)
 

НО у меня почему-то всё равно файлы доступны...
доступны каким образом?
deny from all
Запрещает прямой доступ (читай просмотр) файла из браузера.

  Ответить  
 
 автор: [Fernus]   (18.01.2009 в 11:58)   письмо автору
 
   для: Valick   (18.01.2009 в 11:56)
 

В браузере они ДОСТУПНЫ...я про это и говорю.

  Ответить  
 
 автор: Саня   (18.01.2009 в 13:08)   письмо автору
 
   для: [Fernus]   (18.01.2009 в 11:42)
 

А директива AllowOverride в httpd.conf какая установлена?

  Ответить  
 
 автор: [Fernus]   (18.01.2009 в 13:27)   письмо автору
 
   для: Саня   (18.01.2009 в 13:08)
 

All

Да и в других случиях нормально всё работает.
Например в корне сайта, если прописать в .htaccess:
deny from all
то всё срабатывает...сайт недоступен...

  Ответить  
 
 автор: Sergeich   (18.01.2009 в 13:35)   письмо автору
 
   для: [Fernus]   (18.01.2009 в 13:27)
 

Если у Вас есть доступ к серверу, то зачем тогда вообще использовать .htaccess? Проще это все прописать в основном конфиге сервера, к тому же именно такой путь и является рекомендуемым.
А перезапустить сервер пробовали?

  Ответить  
 
 автор: [Fernus]   (18.01.2009 в 20:23)   письмо автору
 
   для: Sergeich   (18.01.2009 в 13:35)
 

Пробовал и через httpd.conf напрямую запрещать чтение файлов...всё равно не срабатывает именно на ту папку в которую грузятся файлы...

  Ответить  
 
 автор: USED   (19.01.2009 в 10:00)   письмо автору
 
   для: [Fernus]   (18.01.2009 в 11:42)
 

Вообще так и должно быть (исходя из Вашей фразы "файлы, которые под владельцем PHP")
Иначе следуя подобной логике, любой пользователь мог бы управлять данными и хостами другого.

PHP я так понимаю - как модуль апача. Open_basedir затирать пробовали?

  Ответить  
 
 автор: [Fernus]   (20.01.2009 в 19:53)   письмо автору
 
   для: USED   (19.01.2009 в 10:00)
 

>PHP я так понимаю - как модуль апача. Open_basedir затирать пробовали?

Да, PHP как модуль Apache.
Open_basedir затирать не пробовал. Поможет? И безопастно ли его затирать?

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования