EOMY.NET
Хостинг EOMY.NET: Форум поддержки
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

RSS Feed

Запись==Удаление?..
На страницу Пред.  1, 2, 3  След.
 
Начать новую тему   Ответить на тему    Список форумов EOMY.NET -> Программирование для WEB
Запись==Удаление?..
Автор Сообщение
Alek$
$a ||= 5;
$a ||= 5;


Зарегистрирован: 24.11.2007
Сообщения: 1133
Откуда: Новосибирск
42066 Монеты

СообщениеДобавлено: Вс, 15 Июн, 2008 06:26    Заголовок сообщения: Ответить с цитатой

С удалением ситуация такая: директория - суть тоже такой особый файл (с точностью до небрежности такая формулировка вполне допустима Smile ), содержимое которого - список файлов, лежащих в этой директории. Соответственно, для изменения списка файлов (то бишь удаления/создания) в папке необходимо иметь право на запись в мистический файл, которым папка по сути является. => Для проверки возможности удаления файла надо смотреть на наличие права на запись в папку, где он лежит.
Удачи Cool
_________________
Самая страшная ошибка - это ошибка без видимых причин и конкретных последствий.
phpBB3 [db_update.php generator]
phpBB3 [Russian]
Антисоциальный блог
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Alek$
$a ||= 5;
$a ||= 5;


Зарегистрирован: 24.11.2007
Сообщения: 1133
Откуда: Новосибирск
42066 Монеты

СообщениеДобавлено: Вс, 15 Июн, 2008 09:13    Заголовок сообщения: Ответить с цитатой

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

PS. Это небольшой самопиар, не без того, но, надеюсь, от него будет польза не только мне Smile
_________________
Самая страшная ошибка - это ошибка без видимых причин и конкретных последствий.
phpBB3 [db_update.php generator]
phpBB3 [Russian]
Антисоциальный блог
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
madhamster
$a ||= 5;
$a ||= 5;


Зарегистрирован: 09.10.2006
Сообщения: 890

13420 Монеты

СообщениеДобавлено: Вс, 15 Июн, 2008 12:15    Заголовок сообщения: Ответить с цитатой

Alek$ писал(а):
Для проверки возможности удаления файла надо смотреть на наличие права на запись в папку, где он лежит.
Удачи Cool



За что я собстно и боролся, однако это от сервера к серверу на еоми с 755 на папку файло удаляется на другом только с 777, всем не угодишь...
_________________
NextStage - live music competition
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Alek$
$a ||= 5;
$a ||= 5;


Зарегистрирован: 24.11.2007
Сообщения: 1133
Откуда: Новосибирск
42066 Монеты

СообщениеДобавлено: Вс, 15 Июн, 2008 12:20    Заголовок сообщения: Ответить с цитатой

madhamster
видимо, сказывается то, что скрипты на одних серверах выполняются от имени владельца сайта, а на других - от какого-то другого юзера... типа nobody...
_________________
Самая страшная ошибка - это ошибка без видимых причин и конкретных последствий.
phpBB3 [db_update.php generator]
phpBB3 [Russian]
Антисоциальный блог
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
[LP]LordPro.teus
$a ||= 5;
$a ||= 5;


Зарегистрирован: 26.07.2007
Сообщения: 4543

4712 Монеты

СообщениеДобавлено: Вс, 15 Июн, 2008 12:27    Заголовок сообщения: Ответить с цитатой

А писать-то приходится универсально...
_________________

Blogger.com на LiteDiary?) Первый закрытый бета-тест: пишите в ЛС!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Alek$
$a ||= 5;
$a ||= 5;


Зарегистрирован: 24.11.2007
Сообщения: 1133
Откуда: Новосибирск
42066 Монеты

СообщениеДобавлено: Вс, 15 Июн, 2008 12:32    Заголовок сообщения: Ответить с цитатой

[LP]LordPro.teus
а в чем проблема?
Код
Код:

<?php
function is_deletable($file)
{
   return is_writable(dirname($file));
}
?>

вполне универсален, так как в любом случае выполняется от имени веб-сервера. Соответственно, где его ни запускай, он скажет, может ли веб-сервер удалить этот файл Cool
_________________
Самая страшная ошибка - это ошибка без видимых причин и конкретных последствий.
phpBB3 [db_update.php generator]
phpBB3 [Russian]
Антисоциальный блог
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
[LP]LordPro.teus
$a ||= 5;
$a ||= 5;


Зарегистрирован: 26.07.2007
Сообщения: 4543

4712 Монеты

СообщениеДобавлено: Вс, 15 Июн, 2008 12:42    Заголовок сообщения: Ответить с цитатой

...только в случае не удачи нужно написать пользователю, какие права нужно выставить, чтобы получить позитивный результат, а таковые всюду отличаются и не факт, что везде вообще существуют...
_________________

Blogger.com на LiteDiary?) Первый закрытый бета-тест: пишите в ЛС!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Alek$
$a ||= 5;
$a ||= 5;


Зарегистрирован: 24.11.2007
Сообщения: 1133
Откуда: Новосибирск
42066 Монеты

СообщениеДобавлено: Вс, 15 Июн, 2008 13:16    Заголовок сообщения: Ответить с цитатой

[LP]LordPro.teus
Пиши 0777 - не прогадаешь Smile
А вообще можно сделать так: попробовать сделать chmod на папку и если получится, то успокоиться (или вернуть назад и попросить юзера вручную поставить 0755). А если не выйдет - требовать 0777
_________________
Самая страшная ошибка - это ошибка без видимых причин и конкретных последствий.
phpBB3 [db_update.php generator]
phpBB3 [Russian]
Антисоциальный блог
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
[LP]LordPro.teus
$a ||= 5;
$a ||= 5;


Зарегистрирован: 26.07.2007
Сообщения: 4543

4712 Монеты

СообщениеДобавлено: Вс, 15 Июн, 2008 13:19    Заголовок сообщения: Ответить с цитатой

Alek$
как видите, кол-во операций все увеличивается и в случае в конченым хостером (а таких нынче много) - зашкаливает... Что для инсталлятора недопустимо Smile Вот такие вот дела
_________________

Blogger.com на LiteDiary?) Первый закрытый бета-тест: пишите в ЛС!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
madhamster
$a ||= 5;
$a ||= 5;


Зарегистрирован: 09.10.2006
Сообщения: 890

13420 Монеты

СообщениеДобавлено: Вс, 15 Июн, 2008 13:28    Заголовок сообщения: Ответить с цитатой

Можно юзеру сказать типа "Установите права на запись, обычно 777", а какие точно уже он сам должен знать или у хостера пусть спрашивает.
_________________
NextStage - live music competition
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
[LP]LordPro.teus
$a ||= 5;
$a ||= 5;


Зарегистрирован: 26.07.2007
Сообщения: 4543

4712 Монеты

СообщениеДобавлено: Вс, 15 Июн, 2008 13:31    Заголовок сообщения: Ответить с цитатой

Проще говоря, самый надежный вариант - указанный еще много постов назад... попытаться удалить и в случае неудачи попросить сделать это пользователя = )
_________________

Blogger.com на LiteDiary?) Первый закрытый бета-тест: пишите в ЛС!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
eomysupport
Администратор
Администратор


Зарегистрирован: 25.12.2005
Сообщения: 4542

171232 Монеты

СообщениеДобавлено: Пн, 16 Июн, 2008 06:03    Заголовок сообщения: Ответить с цитатой

Alek$
Цитата:
вполне универсален, так как в любом случае выполняется от имени веб-сервера. Соответственно, где его ни запускай, он скажет, может ли веб-сервер удалить этот файл


У нас на всех серверах с cPanel любой php-код выполняется от имени пользователя, а не вебсервера. Smile
_________________
Дмитрий

Техническая поддержка бесплатного хостинга осуществляется только через форум поддержки
Часто задаваемые вопросы по хостингу
Условия предоставления услуг бесплатного хостинга
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Alek$
$a ||= 5;
$a ||= 5;


Зарегистрирован: 24.11.2007
Сообщения: 1133
Откуда: Новосибирск
42066 Монеты

СообщениеДобавлено: Пн, 16 Июн, 2008 12:19    Заголовок сообщения: Ответить с цитатой

eomysupport
но не на всех серверах cPanel Wink В своем посте я имел ввиду, что, как ни крути, этот код проверит возможность удаления файла скриптом, запущенным веб-сервером. А от чьего имени он выполняется, по сути, - дело десятое.
_________________
Самая страшная ошибка - это ошибка без видимых причин и конкретных последствий.
phpBB3 [db_update.php generator]
phpBB3 [Russian]
Антисоциальный блог
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
AlfaUngzipper
Три пингвина
Три пингвина


Зарегистрирован: 23.02.2007
Сообщения: 333
Откуда: Минск
9573 Монеты

СообщениеДобавлено: Пн, 16 Июн, 2008 12:50    Заголовок сообщения: Ответить с цитатой

Alek$ писал(а):
eomysupport
но не на всех серверах cPanel Wink В своем посте я имел ввиду, что, как ни крути, этот код проверит возможность удаления файла скриптом, запущенным веб-сервером. А от чьего имени он выполняется, по сути, - дело десятое.


Готов поспорить. Так, например, если на файл стоят права 600 и процессы Apache сервера запускаются от своего имени (скажем wwwuser), а файл был залит по ftp (скажем пользователь nobody или user2008), то естественно поскольку для апача выствлен 0 (потому как 600) мы имеем результат как с козла молока.
В другом случае, когда веб-сервер запускается от имени пользователя мы имеем права, которые позволяют нам работать мощно со всеми нашими размещёнными файлами, т.к. и мы и веб-сервер хостера - одно и то же "лицо".
Вот из-за этого неудобства как раз-таки и страдает весь добрый люд (хостер ведь не подозревает, что у обычного пользователя нет пароля на root и мы не можем chown в 5 секунд выполнить).
Отсюда вывод: мало зависит бесплатный хостинг или не бесплатный и стоит ли там cPanel 11 или этой cPanel 11 нету. Wink
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Alek$
$a ||= 5;
$a ||= 5;


Зарегистрирован: 24.11.2007
Сообщения: 1133
Откуда: Новосибирск
42066 Монеты

СообщениеДобавлено: Пн, 16 Июн, 2008 13:09    Заголовок сообщения: Ответить с цитатой

AlfaUngzipper
я не про то. Постараюсь максимально четко изложить свою мысль.

Есть цель проверить, может ли скрипт удалить какой-то конкретный файл.
Мы юзаем приведенную выше функцию is_deletable() и она нам говорит, можем мы или нет это сделать. На все прочие настройки сервера нам чихать.

Если скрипты выполняются от того же имени, что и ftp юзер, то все ништяк и проверка вернет тру, если юзер специально не позаботился, чтобы ограничить самому себе права. Если они работают от wwwuser, то данная проверка скажет, имеет ли wwuser возможность удалить этот файл - это нам и надо. Если не имеет - говорим юзеру, мол, пофикси права, не хватает их мне для счастья Smile
Только и всего.
_________________
Самая страшная ошибка - это ошибка без видимых причин и конкретных последствий.
phpBB3 [db_update.php generator]
phpBB3 [Russian]
Антисоциальный блог
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов EOMY.NET -> Программирование для WEB Часовой пояс: GMT
На страницу Пред.  1, 2, 3  След.
Страница 2 из 3

 


EOMY TOP 100 Rambler's Top100   Рейтинг@Mail.ru    



Powered by phpBB © 2001, 2005 phpBB Group






Рейтинг SIMPLETOP.NET