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

Форум Apache

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

 

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

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

тема: Как запретить скриптам подниматся выше каталога www?
 
 автор: JIEXA   (15.10.2005 в 12:47)   письмо автору
 
 

Как это можно сделать?

   
 
 автор: hiper   (15.10.2005 в 14:20)   письмо автору
 
   для: JIEXA   (15.10.2005 в 12:47)
 

попробуй поиграть правами на сервере

   
 
 автор: JIEXA   (15.10.2005 в 14:24)   письмо автору
 
   для: hiper   (15.10.2005 в 14:20)
 

с какими провами? CHMOD или с чем, можно по точнее?

   
 
 автор: hiper   (15.10.2005 в 14:33)   письмо автору
 
   для: JIEXA   (15.10.2005 в 14:24)
 

ДА, конечно, chmod

   
 
 автор: cheops   (15.10.2005 в 16:18)   письмо автору
 
   для: JIEXA   (15.10.2005 в 12:47)
 

На сервере директории вне www должны иметь права доступа -rwx------, чтобы никто кроме владельца ничего читать не мог. У пользователя кроме директории www собственных файлов тоже больше нигде быть не должно.

   
 
 автор: JIEXA   (16.10.2005 в 14:48)   письмо автору
 
   для: cheops   (15.10.2005 в 16:18)
 

> -rwx------
в числовом формате это 700?

   
 
 автор: cheops   (17.10.2005 в 00:53)   письмо автору
 
   для: JIEXA   (16.10.2005 в 14:48)
 

Да.

   
 
 автор: JIEXA   (18.10.2005 в 16:06)   письмо автору
 
   для: cheops   (17.10.2005 в 00:53)
 

Поставил на папку www права 700 и теперь вместо сайта:
Forbidden
You don't have permission to access / on this server.


что делать?

   
 
 автор: cheops   (19.10.2005 в 15:44)   письмо автору
 
   для: JIEXA   (18.10.2005 в 16:06)
 

У вас как apache запущен из под nobody?

   
 
 автор: JIEXA   (19.10.2005 в 21:39)   письмо автору
 
   для: cheops   (19.10.2005 в 15:44)
 

Я как бы с сервером дело раньше не имел, поэтому не очень понимаю, из под nobody он запущен или нет

   
 
 автор: cheops   (20.10.2005 в 01:56)   письмо автору
 
   для: JIEXA   (19.10.2005 в 21:39)
 

Это ваш сервер или хостера? Если ваш, то какая операционная система используется?

   
 
 автор: JIEXA   (20.10.2005 в 19:35)   письмо автору
 
   для: cheops   (20.10.2005 в 01:56)
 

Наш. FreeBSD 4.x

   
 
 автор: cheops   (20.10.2005 в 22:01)   письмо автору
 
   для: JIEXA   (20.10.2005 в 19:35)
 

Из под root запустите команду ps - httpd из под какого пользователя работает?

   
 
 автор: JIEXA   (21.10.2005 в 01:09)   письмо автору
 
   для: cheops   (20.10.2005 в 22:01)
 

Из под root работаем

Команда вернула:

ps: httpd: No such file or directory

   
 
 автор: cheops   (21.10.2005 в 13:54)   письмо автору
 
   для: JIEXA   (21.10.2005 в 01:09)
 

А нет... я имел ввиду просто команду ps, или даже добавьте ещё параметры -Af
ps -Af

   
 
 автор: JIEXA   (21.10.2005 в 20:29)   письмо автору
12.3 Кб
 
   для: cheops   (21.10.2005 в 13:54)
 

прикрепил

   
 
 автор: cheops   (22.10.2005 в 00:10)   письмо автору
 
   для: JIEXA   (21.10.2005 в 20:29)
 

Хм... странно FreeBSD на ключи реагирует... вообще-то должен быть список пользователей процессов...

   
 
 автор: JIEXA   (22.10.2005 в 00:23)   письмо автору
 
   для: cheops   (22.10.2005 в 00:10)
 

так что выхода нет?

   
 
 автор: glsv (Дизайнер)   (22.10.2005 в 06:19)   письмо автору
 
   для: JIEXA   (18.10.2005 в 16:06)
 

>Поставил на папку www права 700 и теперь вместо сайта:
Но вам не на www нужно права менять, а на директории вне www.
Допустим Apache запущен из под пользователя Apache. Пользователь Apache должен иметь права на чтение и выполнение директории www (и всех вышестоящих директорий до нее).
Когда Вы установили права 700 вы запретили Apache доступ у этой директории.

Должны быть изменены права доступа для всех других директорий в корне (куда Apache-у не должно быть доступа). Должны быть убраны права на чтение и выполнение директорий "для всех".

Рассуждаем о правах Apache потому что если php установлен модулем, то все php-скрипты выполяются с правами пользователя из-под которого запущен web-сервер. Я предположил, что это пользователь Apache. Точно также это может быть пользователь nobody.

Решением также может быть помещение сервера Apache в chroot окружение.
А также использование модуля mod_security для Apache. Этот модуль отслеживает и запрещает include вида

include "../../../file"

Ведь именно в этом состоит задача?

   
Rambler's Top100
вверх

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