Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как запретить PHP скриптам листинг файлов? ...лежащих в директориях выше 
:(
    Опции темы
karataev
  Дата 21.6.2006, 23:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 28.1.2006
Где: Россия, Нижний Но вгород

Репутация: нет
Всего: нет



У меня такая проблема: у меня хостинг на виртуальном сервере. Я даю некоторым людям ftp-аккаунты чтобы они могли тестировать свои PHP скрипты на моем сервере (мы занимаемся совместным созданием проекта). Есть папка project в ней вложены папки вида user1, user2, user3... По FTP юзеры могут попасть только в свои юзерские директории и во все вложенные директории, но выше попасть не могут.  Но сегодня я крупно пострадал от того что один из моих юзеров, что поумнее, взял да и получил доступ ко всем файлам, лежащим выше его директории. Просто из PHP скрипта, через readfile(). Также он смог изменять и удалять любые файлы на сервере.

Вопрос: как сделать чтобы из юзерских директорий скрипты могли иметь доступ только к юзерским файлам, но не к тем что лежат в папках выше? 
PM MAIL WWW ICQ   Вверх
Mal Hack
Дата 21.6.2006, 23:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 15
Всего: 261



Это надо на уровне сервера разграничивать php.
Утилита вроде бы называется suphp. Но насколько я помню, завязана она с пользователями Апача, т.е. сервер запускается с разными правами чтоли. 
PM ICQ   Вверх
karataev
Дата 22.6.2006, 22:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 28.1.2006
Где: Россия, Нижний Но вгород

Репутация: нет
Всего: нет



Блин. Хостинг то виртуальный...получается что мы сидим с юзерами под одним линуксовским юзером, только по FTP у нас разные права.  А может еще варианты есть? 
PM MAIL WWW ICQ   Вверх
Mal Hack
Дата 22.6.2006, 23:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 15
Всего: 261



Других вариантов нет. 
PM ICQ   Вверх
karataev
Дата 22.6.2006, 23:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 28.1.2006
Где: Россия, Нижний Но вгород

Репутация: нет
Всего: нет



Получается что мне нельзя никому давать FTP-аккаунты если я не хочу утечки информации???  smile  
PM MAIL WWW ICQ   Вверх
Alex13
Дата 23.6.2006, 07:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 280
Регистрация: 30.12.2005
Где: Новосибирск

Репутация: нет
Всего: 1



karataev, получается. 


--------------------
Самая страшная ошибка - это ошибка, не имеющая явных причин и конкретных последствий.
Антисоциальный блог.
PM WWW ICQ Jabber   Вверх
karataev
Дата 23.6.2006, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 28.1.2006
Где: Россия, Нижний Но вгород

Репутация: нет
Всего: нет



Тогда подскажите пожалуйста как сделать с помощью .htaccess перенаправление такого типа:

вводится адрес: http://takih.net.ru/project/имя_юзера/путь_к_скрипту_юзера

нужно переделать его в адрес такого вида: http://takih.net.ru/project/check.php?u=имя_юзера&p=путь_к_скрипту_юзера

Я подумал что можно скриптом проверять наличие в скриптах юзера недопустимых путей (которые выше его директории) и вырезать их из кода, после чего уже запускать сам скрипт. 
PM MAIL WWW ICQ   Вверх
Mal Hack
Дата 23.6.2006, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 15
Всего: 261



Глянь в доке апача про mod_userdir
.htaceess тут не поможет. 
PM ICQ   Вверх
GZep
Дата 19.7.2006, 12:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


Профиль
Группа: Завсегдатай
Сообщений: 1528
Регистрация: 7.7.2006
Где: Москва

Репутация: 2
Всего: 32



Цитата

htaceess тут не поможет. 

Поможет!
 Там есть специальная деректива, которая позволяет включать в начало каждого php скрипта специальный скрипт(который ты укажешь).
 smile Проблема заключается в том, чтобы уже из этого скрипта запретить следующим строчкам кода доступ к другим директориям...


 smile Удачи тебе. 


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
karataev
Дата 20.7.2006, 07:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 28.1.2006
Где: Россия, Нижний Но вгород

Репутация: нет
Всего: нет



Спасибо, попробую что нибудь сделать smile 
PM MAIL WWW ICQ   Вверх
GZep
Дата 20.7.2006, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


Профиль
Группа: Завсегдатай
Сообщений: 1528
Регистрация: 7.7.2006
Где: Москва

Репутация: 2
Всего: 32



Да незачто..... smile 

Если получится так сделать, напишешь результаты......
 smile  


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
Mal Hack
Дата 20.7.2006, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 15
Всего: 261



GZep, и это ты называешь решением проблемы?
Бред. Ну хорошо, файл ты запстил, а толку.
Если я в основном скрипте напишу scandir("/") и если у меня будут права на чтение данной папки, я ее все равно прочитаю. 
PM ICQ   Вверх
regret
Дата 20.7.2006, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 90
Регистрация: 19.5.2006

Репутация: нет
Всего: нет



mod_userdir    smile  
PM MAIL   Вверх
GZep
Дата 21.7.2006, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


Профиль
Группа: Завсегдатай
Сообщений: 1528
Регистрация: 7.7.2006
Где: Москва

Репутация: 2
Всего: 32



Ну, а как по-Вашему ещё можно решить подобную проблему?
 smile  


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
Mal Hack
Дата 21.7.2006, 14:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 15
Всего: 261



Цитата(Mal Hack @  22.6.2006,  00:44 Найти цитируемый пост)
Это надо на уровне сервера разграничивать php.
Утилита вроде бы называется suphp. Но насколько я помню, завязана она с пользователями Апача, т.е. сервер запускается с разными правами чтоли.  

Вот так. 
PM ICQ   Вверх
GZep
Дата 2.8.2006, 10:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


Профиль
Группа: Завсегдатай
Сообщений: 1528
Регистрация: 7.7.2006
Где: Москва

Репутация: 2
Всего: 32



А нельзя просто при закачки файлов, содержащих скрипты, на сервер, проверять их на наличие "опасных" функций?

Как вариант решения этой задачи сойдет..... smile 


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
GZep
Дата 15.9.2006, 13:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


Профиль
Группа: Завсегдатай
Сообщений: 1528
Регистрация: 7.7.2006
Где: Москва

Репутация: 2
Всего: 32



А про дерективу disable_functions чё скажите? решает?


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
Mal Hack
Дата 15.9.2006, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 15
Всего: 261



Да, если ее можнго через .htaccess установить... Но думаю вряд ли.
PM ICQ   Вверх
ZeeLax
Дата 16.9.2006, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 4388
Регистрация: 20.8.2006
Где: Алма-Ата

Репутация: 2
Всего: 88



GZep, вопрос только в том, что такое "опасные" функции smile


--------------------
Utility is when you have one telephone, luxury is when you have two, opulence is when you have three — and paradise is when you have none.
— Doug Larson
PM MAIL WWW ICQ Skype Jabber   Вверх
nerezus
Дата 16.9.2006, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: нет
Всего: 43



GZep, опасных функций в PHP нет.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
Mal Hack
Дата 16.9.2006, 20:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 15
Всего: 261



Цитата(nerezus @  16.9.2006,  15:30 Найти цитируемый пост)
GZep, опасных функций в PHP нет. 

Зато, через большинство можно так или иначе гадостей сделать...
PM ICQ   Вверх
MuToGeN
Дата 25.9.2006, 19:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


Профиль
Группа: Модератор
Сообщений: 4379
Регистрация: 15.8.2002
Где: Москва

Репутация: 5
Всего: 32



В настройках вирт.хоста

php_admin_value open_basedir /path/to/fopen_safe/directory/:/path/to/another/fopen_safe/directory/

И будет вам счастье.


--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
GZep
Дата 4.10.2006, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


Профиль
Группа: Завсегдатай
Сообщений: 1528
Регистрация: 7.7.2006
Где: Москва

Репутация: 2
Всего: 32



Цитата(MuToGeN @ 25.9.2006,  19:34)
php_admin_value open_basedir /path/to/fopen_safe/directory/:/path/to/another/fopen_safe/directory/

я так понял, что эту дерективу простым людям хостеры использовать не дают?


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
MuToGeN
Дата 5.10.2006, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


Профиль
Группа: Модератор
Сообщений: 4379
Регистрация: 15.8.2002
Где: Москва

Репутация: 5
Всего: 32



GZep, да.
php_admin_value - директива для конфига апача. Если ты не хостер, то смысл изначального вопроса мне не понятен.


--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
GZep
Дата 5.10.2006, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


Профиль
Группа: Завсегдатай
Сообщений: 1528
Регистрация: 7.7.2006
Где: Москва

Репутация: 2
Всего: 32



Цитата(MuToGeN @ 5.10.2006,  11:09)
GZep, да.
php_admin_value - директива для конфига апача. Если ты не хостер, то смысл изначального вопроса мне не понятен.

в .htaccess разрешено использовать?

навернека, если даже можно, бесплатные хостинги не разрешают её использовать....или нет?


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Администрирование Web серверов и Web служб | Следующая тема »


 




[ Время генерации скрипта: 0.1184 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.