![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
szz |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1289 Регистрация: 31.5.2005 Где: Moscow, Jerusalem Репутация: нет Всего: 33 |
Пишу маленький распаковщик программы на PHP, который из упаковки (в моем формате) разбрасывает все файлы программы, например, форума phpBB.
Так вот, разбросанные файлы все имеют пермиссии, дающие php скриптам доступ записи (а иначе никак! php-скрипт ведь разбрасывает). Но есть такая традиция, что все файлы должны быть запрещены (кроме может быть conf.php и папки uploads), насколько я знаю эта традиция связана с безопасностью. Вопрос1: Но насколько это имеет смысл? Если например, та же база данных для php скриптов доступна для записи всегда, а в ней порой хранятся даже более важные данные, чем в файловой системе ![]() Если все же да то можно ли в таком случае как-то поменять пермиссию файла, так, чтобы файл тутже перестал быть мне доступным навсегда? Например:
Попробовал это на 3-х конфигурациях: 1. Дома, на винде, Апач 2 : все вработало как я и задумывал: первый раз записало, во второй и в третий -нет. 2. Сервер в Москве, Линукс своей сборки, Апач 1.3: сработало во всех 3-х случаях, это очень плохо. 3. Сервер в Штатах, Апач 2: сработало как и в первом случае, НО файл стал недоступен даже из FTP! Он виден, но даже читать не позволяет! 4. Хостинг от Винграда, Германия, какой-то Линукс, Апач 2: то же самое, что и в предыдущем случае - сработало, но файл стал недоступен ВООЩЕ ниоткуда. Как мы видим, при разных настройках сервера происходят разные вещи. И то, что мне нужно - происходит только дома, потому что винда наверное... Вопрос 2: Есть ли какое-нибудь общее решение? --------------------
|
||||
|
|||||
Fally |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 265 Регистрация: 17.8.2006 Где: Dahla Репутация: нет Всего: 4 |
По поводу 1-го:
Запишу я тебе туда скрипт с содержанием:
и буду твой сайт долго иметь ;) По поводу второго: Используй chmod вот так:
Это сообщение отредактировал(а) Fally - 27.7.2007, 11:23 |
||||
|
|||||
szz |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1289 Регистрация: 31.5.2005 Где: Moscow, Jerusalem Репутация: нет Всего: 33 |
Можно разные злые файлы записать, но вопрос в том, как именно ты его запишешь, хоть даже и пермиссии открыты? Метод дайте )))
Пытался я и с 0744, и с 0444 - работает все равно по разному на разных серваках, и не так как мне нужно... --------------------
|
||||||
|
|||||||
Fally |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 265 Регистрация: 17.8.2006 Где: Dahla Репутация: нет Всего: 4 |
http://ivli.ru/exil.php:
Вот и записали ;) А вообще совет, скинь файл в отдельную папку, и кинь в неё .htaccess:
Это сообщение отредактировал(а) Fally - 27.7.2007, 11:50 |
||||
|
|||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 8 Всего: 261 |
А что мешает из tar.gz распаковывать? Смысл придумывать велосипед?
На счет htaccess рекомендация - правильная. |
|||
|
||||
Anarki |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 326 Регистрация: 14.3.2005 Репутация: 1 Всего: 11 |
szz,
Доступ на запись в файл есть лишь у процесса, под которым запущен php-скрипт. А сами файлы-скрипты могут иметь атрибуты, позволяющие запись в них или нет.
Запись неверная http://php.net/chmod, чтобы полностью убрать права на запись, нужно писать chmod($file,0555); например или chmod($file,0444); - только для php в виде модуля
Кто то сейчас разрешает метод PUT на сервере без дополнительной авторизации? szz, Если хотите чтобы меньше доступа было для юзеров настраивайте .htaccess, но от записи в файл из скрипта, к которому пользователь имеет доступ, например лежит в другой папке веб-сервера, это не защитит. Это сообщение отредактировал(а) Anarki - 27.7.2007, 23:27 |
||||||
|
|||||||
SelenIT |
|
||||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 2 Всего: 401 |
Fally, кому верить - Вам или ману?
-------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
||||
|
|||||
szz |
|
||||||||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1289 Регистрация: 31.5.2005 Где: Moscow, Jerusalem Репутация: нет Всего: 33 |
Fally, ты опять приводишь в пример код на php. А как ты этот файл собираешься записать? Только не приводи мне в пример
Как правильно заметил SelenIT, извне доступа тебе нет, не важно, открыты ли файлы для записи. Mal Hack,
![]()
А вот
![]() --------------------
|
||||||||||||
|
|||||||||||||
Anarki |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 326 Регистрация: 14.3.2005 Репутация: 1 Всего: 11 |
szz,
Я не знаю как вы проверяли, у вас там в списке присутствуют linux системы, все должно быть нормально. Вообще проверили бы, что chmod возвращает. Я запустил на своем хостинге скрипт
Мне выдало сообщение
И как у Вас результат отличается на разных конфигурациях?
Какая разница с какого, важен лишь процесс и его владелец. Если файл закрыт для записи для всех, то никто(кроме root), даже владелец этого файла не сможет писать в этот файл. |
||||||
|
|||||||
HackMan |
|
|||
![]() Юзверь-программист ![]() ![]() Профиль Группа: Участник Сообщений: 391 Регистрация: 18.6.2005 Где: .ua Репутация: 1 Всего: 9 |
Просто создай папку, там, где для неё не будет доступа из-вне, из интернета... И присваивай ей любые права... Даже если смогут найти уязвимость на твоём сайте, и залить шелл в ту папку - много чего они с ним не сделают...
-------------------- Завтра - это самый загруженный день недели ![]() ![]() ![]() |
|||
|
||||
-=Ustas=- |
|
|||
![]() Ustix IT Group ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2222 Регистрация: 21.1.2005 Где: Краснодар Репутация: нет Всего: 69 |
Сморя какие права будут у апача. На самом деле, там можно дофига чего наворотить... если сервак настроен коряво. -------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
|||
|
||||
HackMan |
|
|||
![]() Юзверь-программист ![]() ![]() Профиль Группа: Участник Сообщений: 391 Регистрация: 18.6.2005 Где: .ua Репутация: 1 Всего: 9 |
Ну в любом случае есть папка /tmp, у которой всегда есть права на запись. И если сервак настроен коряво, то здесь уже ничего не поможет
![]() -------------------- Завтра - это самый загруженный день недели ![]() ![]() ![]() |
|||
|
||||
-=Ustas=- |
|
|||
![]() Ustix IT Group ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2222 Регистрация: 21.1.2005 Где: Краснодар Репутация: нет Всего: 69 |
Но незабывай, что она недоступна напрямую по http, поэтому она мало чем пригодиться. Если конечно в скрипте есть include-инъекция c доступным INTO OUTFILE в SQL-инъекции, то в этом случае она может пригодиться даже очень. -------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
|||
|
||||
HackMan |
|
|||
![]() Юзверь-программист ![]() ![]() Профиль Группа: Участник Сообщений: 391 Регистрация: 18.6.2005 Где: .ua Репутация: 1 Всего: 9 |
Так я же и говорю
-------------------- Завтра - это самый загруженный день недели ![]() ![]() ![]() |
|||
|
||||
qeqeru |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 28.8.2007 Репутация: нет Всего: нет |
Кстати, не надо забывать что права на доступ к файлам в Windows системах и Linux задаются по разному. По этому не надо удивляться, что на разных серверах скрипт ведет себя по разному.
![]() |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Для профи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |