|
Запись==Удаление?..
|
| Автор |
Сообщение |
Alek$ $a ||= 5;


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


Зарегистрирован: 24.11.2007 Сообщения: 1119 Откуда: Новосибирск 41263 
|
Добавлено: Вс, 15 Июн, 2008 09:13 Заголовок сообщения: |
|
|
Этот топик сподвиг меня на написание статьи, в которой я изложил базовую информацию по правам доступа и кое-каким трюкам с ними, может, кому это пригодится.
PS. Это небольшой самопиар, не без того, но, надеюсь, от него будет польза не только мне  _________________ Самая страшная ошибка - это ошибка без видимых причин и конкретных последствий.
phpBB3 [db_update.php generator]
phpBB3 [Russian]
Антисоциальный блог |
|
| Вернуться к началу |
|
 |
madhamster $a ||= 5;


Зарегистрирован: 09.10.2006 Сообщения: 880
27876 
|
Добавлено: Вс, 15 Июн, 2008 12:15 Заголовок сообщения: |
|
|
| Alek$ писал(а): | Для проверки возможности удаления файла надо смотреть на наличие права на запись в папку, где он лежит.
Удачи  |
За что я собстно и боролся, однако это от сервера к серверу на еоми с 755 на папку файло удаляется на другом только с 777, всем не угодишь... _________________ NextStage - live music competition |
|
| Вернуться к началу |
|
 |
Alek$ $a ||= 5;


Зарегистрирован: 24.11.2007 Сообщения: 1119 Откуда: Новосибирск 41263 
|
Добавлено: Вс, 15 Июн, 2008 12:20 Заголовок сообщения: |
|
|
madhamster
видимо, сказывается то, что скрипты на одних серверах выполняются от имени владельца сайта, а на других - от какого-то другого юзера... типа nobody... _________________ Самая страшная ошибка - это ошибка без видимых причин и конкретных последствий.
phpBB3 [db_update.php generator]
phpBB3 [Russian]
Антисоциальный блог |
|
| Вернуться к началу |
|
 |
[LP]LordPro.teus $a ||= 5;


Зарегистрирован: 26.07.2007 Сообщения: 4352
11944 
|
Добавлено: Вс, 15 Июн, 2008 12:27 Заголовок сообщения: |
|
|
А писать-то приходится универсально... _________________

Нужны бета-тестеры бесплатного хостинга - в ЛС |
|
| Вернуться к началу |
|
 |
Alek$ $a ||= 5;


Зарегистрирован: 24.11.2007 Сообщения: 1119 Откуда: Новосибирск 41263 
|
Добавлено: Вс, 15 Июн, 2008 12:32 Заголовок сообщения: |
|
|
[LP]LordPro.teus
а в чем проблема?
Код
| Код: |
<?php
function is_deletable($file)
{
return is_writable(dirname($file));
}
?>
|
вполне универсален, так как в любом случае выполняется от имени веб-сервера. Соответственно, где его ни запускай, он скажет, может ли веб-сервер удалить этот файл  _________________ Самая страшная ошибка - это ошибка без видимых причин и конкретных последствий.
phpBB3 [db_update.php generator]
phpBB3 [Russian]
Антисоциальный блог |
|
| Вернуться к началу |
|
 |
[LP]LordPro.teus $a ||= 5;


Зарегистрирован: 26.07.2007 Сообщения: 4352
11944 
|
Добавлено: Вс, 15 Июн, 2008 12:42 Заголовок сообщения: |
|
|
...только в случае не удачи нужно написать пользователю, какие права нужно выставить, чтобы получить позитивный результат, а таковые всюду отличаются и не факт, что везде вообще существуют... _________________

Нужны бета-тестеры бесплатного хостинга - в ЛС |
|
| Вернуться к началу |
|
 |
Alek$ $a ||= 5;


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


Зарегистрирован: 26.07.2007 Сообщения: 4352
11944 
|
Добавлено: Вс, 15 Июн, 2008 13:19 Заголовок сообщения: |
|
|
Alek$
как видите, кол-во операций все увеличивается и в случае в конченым хостером (а таких нынче много) - зашкаливает... Что для инсталлятора недопустимо Вот такие вот дела _________________

Нужны бета-тестеры бесплатного хостинга - в ЛС |
|
| Вернуться к началу |
|
 |
madhamster $a ||= 5;


Зарегистрирован: 09.10.2006 Сообщения: 880
27876 
|
Добавлено: Вс, 15 Июн, 2008 13:28 Заголовок сообщения: |
|
|
Можно юзеру сказать типа "Установите права на запись, обычно 777", а какие точно уже он сам должен знать или у хостера пусть спрашивает. _________________ NextStage - live music competition |
|
| Вернуться к началу |
|
 |
[LP]LordPro.teus $a ||= 5;


Зарегистрирован: 26.07.2007 Сообщения: 4352
11944 
|
Добавлено: Вс, 15 Июн, 2008 13:31 Заголовок сообщения: |
|
|
Проще говоря, самый надежный вариант - указанный еще много постов назад... попытаться удалить и в случае неудачи попросить сделать это пользователя = ) _________________

Нужны бета-тестеры бесплатного хостинга - в ЛС |
|
| Вернуться к началу |
|
 |
eomysupport Администратор

Зарегистрирован: 25.12.2005 Сообщения: 4409
134545 
|
Добавлено: Пн, 16 Июн, 2008 06:03 Заголовок сообщения: |
|
|
Alek$
| Цитата: | | вполне универсален, так как в любом случае выполняется от имени веб-сервера. Соответственно, где его ни запускай, он скажет, может ли веб-сервер удалить этот файл |
У нас на всех серверах с cPanel любой php-код выполняется от имени пользователя, а не вебсервера.  _________________ Дмитрий
● Техническая поддержка бесплатного хостинга осуществляется только через форум поддержки
● Часто задаваемые вопросы по хостингу
● Условия предоставления услуг бесплатного хостинга |
|
| Вернуться к началу |
|
 |
Alek$ $a ||= 5;


Зарегистрирован: 24.11.2007 Сообщения: 1119 Откуда: Новосибирск 41263 
|
Добавлено: Пн, 16 Июн, 2008 12:19 Заголовок сообщения: |
|
|
eomysupport
но не на всех серверах cPanel В своем посте я имел ввиду, что, как ни крути, этот код проверит возможность удаления файла скриптом, запущенным веб-сервером. А от чьего имени он выполняется, по сути, - дело десятое. _________________ Самая страшная ошибка - это ошибка без видимых причин и конкретных последствий.
phpBB3 [db_update.php generator]
phpBB3 [Russian]
Антисоциальный блог |
|
| Вернуться к началу |
|
 |
AlfaUngzipper Три пингвина

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


Зарегистрирован: 24.11.2007 Сообщения: 1119 Откуда: Новосибирск 41263 
|
Добавлено: Пн, 16 Июн, 2008 13:09 Заголовок сообщения: |
|
|
AlfaUngzipper
я не про то. Постараюсь максимально четко изложить свою мысль.
Есть цель проверить, может ли скрипт удалить какой-то конкретный файл.
Мы юзаем приведенную выше функцию is_deletable() и она нам говорит, можем мы или нет это сделать. На все прочие настройки сервера нам чихать.
Если скрипты выполняются от того же имени, что и ftp юзер, то все ништяк и проверка вернет тру, если юзер специально не позаботился, чтобы ограничить самому себе права. Если они работают от wwwuser, то данная проверка скажет, имеет ли wwuser возможность удалить этот файл - это нам и надо. Если не имеет - говорим юзеру, мол, пофикси права, не хватает их мне для счастья
Только и всего. _________________ Самая страшная ошибка - это ошибка без видимых причин и конкретных последствий.
phpBB3 [db_update.php generator]
phpBB3 [Russian]
Антисоциальный блог |
|
| Вернуться к началу |
|
 |
|