Скрипты создают файлы.

dimant

Новичок
Скрипты создают файлы.

Проблема у меня такая.
Имеется скрипт регистрации на php(самопальный).Во время выполнения он создаёт каталог с названием как логин у юзера.В каталоге создаёт несколько файлов с данными.Иногда мне нужно эти файлы редактировать.Ну я пытаюсь релактировать а у меня оказывается прав нету для редактирования.Узнал в суппорте хостинга,что у меня и не будет прав на файлы которые созданы скриптами.
Кстати если это важно,то файлы создаются fopen ("filename","w");
Как решить проблему? Может как-то по другому создавать файлы?
 

Crazy

Developer
Re: Скрипты создают файлы.

Автор оригинала: dmisizov
Узнал в суппорте хостинга,что у меня и не будет прав на файлы которые созданы скриптами.
Вау! Какой милый хостинг.
 

Crazy

Developer
Re: Re: Re: Скрипты создают файлы.

Автор оригинала: dmisizov
А что? В чём дело то?
Вот в этом: "Узнал в суппорте хостинга,что у меня и не будет прав на файлы которые созданы скриптами."
 

su1d

Старожил PHPClubа
dmisizov, попробуй после закрытия файла поменять режим доступа к нему:
PHP:
$fp = fopen('file.txt', 'w');
fputs($fp, 'test');
fclose($fp);
chmod('file.txt', 0666);
таким образом, файл так и останется принадлежать другому пользователю -- nobody, под которым запускается веб-сервер, но ты всё ещё сможешь редактировать его из-под своего логина.
 

dimant

Новичок
Скрипты создают файлы.

Автор оригинала: Crazy
Вот в этом: "Узнал в суппорте хостинга,что у меня и не будет прав на файлы которые созданы скриптами."
А что хороший хостинг такого бы не сказал?

-~{}~ 07.06.04 03:01:

Автор оригинала: su1d
dmisizov, попробуй после закрытия файла поменять режим доступа к нему:
PHP:
$fp = fopen('file.txt', 'w');
fputs($fp, 'test');
fclose($fp);
chmod('file.txt', 0666);
таким образом, файл так и останется принадлежать другому пользователю -- nobody, под которым запускается веб-сервер, но ты всё ещё сможешь редактировать его из-под своего логина.
СПАСИБО!!!
ПОМОГЛО.

-~{}~ 07.06.04 03:19:

-~{}~ 07.06.04 03:30:

<h2>А вот ещё.
Никак таким же образом не поменять права доступа у каталога.Как быть?</h2>

-~{}~ 07.06.04 03:34:

А вот ещё.
Никак таким же образом не поменять права доступа у каталога.Как быть?

-~{}~ 07.06.04 03:35:

А вот ещё.
Никак таким же образом не поменять права доступа у каталога.Как быть?
 

su1d

Старожил PHPClubа
для каталога: вместо 0666 используй 0777.

только ты должен знать, что, назначая такие права на файлы и каталоги, та даёшь возможность ЛЮБОМУ пользователю этого сервера вносить в них изменения. возможно, это -- не то, чего бы тебе хотелось.
 

Friond

Guest
Люди объясните же! Вот есть CMS, весь контент хранится в текстовых файлах и оттуда вставляется в странички, картинки так же закачиваются и хранятся в какой-либо папке, пароли к админу, то же хранятся в файле(правда захэшированы).
Т.е. есть куча файлов и директорий которые создаются скриптом, причем в дальнейшем подразумевается дальнейшее редактирование/удаление/прочее информации в этих файлах и самих файлов/дирректорий, через админ интерфейс, т.е. скриптами.
Единственная возможность для последнего, это значит устанавливать права 0666 и 0777.
Теперь вы говорите, что если установлены такие права, то эти файлы может редактировать кто угодно(что не допустимо).

Так что же делать то?????????? Ответьте пожалуйста, а то выходит, что у меня сейчас висит потенциально беззащитный сайт :-(.

P.S. А каким образом любой желающий сможет получить доступ к этим файлам? Он сможет их просматривать, или еще редактировать? Т.е. прям зайдет каким-нибудь менеджером?... или скриптом с другого сайта?
 

MpaK69

Новичок
Friond
обычно в CMS каталоги не создаются (mod_rewrite, ошибка 404 и т.п.) Данные (теста) хранят либо в базе, либо вне пределах веб-каталога.

да, к примеру скрипт с соседнего /home/vasya_pupkin легко сможет прочитать твои данные (и даже записать) если права 666.
 

Фанат

oncle terrible
Команда форума
эти файлы может редактировать кто угодно, из имеющих доступ к тому же диску. т.е. - клиенты того же хостера.

Так что же делать то??????????
плати нормальные бабки нормальном у хостеру
 

Friond

Guest
Это что же получается, система не различает скрипты запущенные из каталогов разных пользователей?

MpaK69 CMS сам делал(и про такую штуку не знал и потому у меня так делается).

Фанат а у нормального хостера(а как определить, какой хостер нормальный?) какой принцип работы? Это 100$ за колокэйшен, что бы к жесткому диску имел доступ только один пользователь, или... т.е. как и почему у нормального хостера таких проблем нет?

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

P.S. И получается, что любой желающий может свободно записывать любую информацию в каталоги своих соседей?
 

Фанат

oncle terrible
Команда форума
как определить, какой хостер нормальный?)
у которого апач запускается от имени пользователя.
Это 100$ за колокэйшен
таких цен давно нет. ты путаешь с дедикейтед.
на коло можно свой сервер поставить и за 40.
столько же, примерно, стоит и нормальный хостинг - 30-40
 

MpaK69

Новичок
Friond Обычно можно спросить под каким пользователем и группой запускаются твои скрипты, если под твоим личным, тогда уже гуд, если нет, то нет.

зы. да может, если права проставлены плохо :)
 

Friond

Guest
Кошмар, как много я не знаю :-(((
Спасибо, за консультацию.
да может, если права проставлены плохо
Абсурд, удивительно как тогда такие хостеры еще живут.
 

Mephistophel

Новичок
Подождите-ка, правильная расстановка прав оно, конечно, дело нужное, но chroot ведь никто не отменял. Неужели остались хостеры с несчручеными (во блин слово!) виртуальными хостами?
 
Сверху