ower_xz 117 Опубликовано: 21 августа 2008 Рассказать Опубликовано: 21 августа 2008 Столкнулся с таким интересным моментом... Когда пользователь регистрируется на сайте и загружает аватар, он загружается, но в профиле пользователя или комментариях отображаются далеко не все загруженные аватары. Когда повнимательнее посмотрел папку fotos, обнаружил, что все аватары имеют разные chmod от 600 до 666, а отображаются только те, которые имеют chmod 777. Права на все папки из состава uploads выставлены правильно. После того, как я принудительно выставил на все аватары права 777, они появились в профилях пользователей. В чем может быть причина таких "скачков" в правах на файлы? Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 077 Опубликовано: 21 августа 2008 Рассказать Опубликовано: 21 августа 2008 скрипт принудительно ставить 666, почему разброс в правах я незнаю, в скрипт это не заложено. Цитата Ссылка на сообщение Поделиться на других сайтах
ower_xz 117 Опубликовано: 22 августа 2008 Рассказать Опубликовано: 22 августа 2008 Автор А как же быть? Основной массе аватаров даются права 600. Не должно же такого быть. Если я принудительно те же самые аватары сам загружаю в профиль пользователя, то все нормально, а если они сами, то такая картина не хорошая получается. Может есть какие идеи по этому поводу? Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 077 Опубликовано: 22 августа 2008 Рассказать Опубликовано: 22 августа 2008 Обратитесь к хостеру за этим вопросом, права по умолчанию назначает хостер. А права 600 не позволяют проводить публичный просмотр. Цитата Ссылка на сообщение Поделиться на других сайтах
ower_xz 117 Опубликовано: 25 августа 2008 Рассказать Опубликовано: 25 августа 2008 Автор Хостинг предлагает сделать следующее для устранения этой проблемы: Закаченным файлам, по умолчанию выставляются права 600. Для их изменения можно использовать php функцию chmod(), которую необходимо добавить в текст скрипта, который загружает файлы. Необходимо в скрипте, который загружает аватары сразу после функции, которая загружает сам файл вставить функцию chmod(), которая изменит права 600 на 644 или 755. Права 777 у нас на хостинге блокируются в целях безопасности. celsoft, подскажите, пожалуйста, можно ли сделать такой вариант, и если можно, то в каком файле и что изменить? Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 077 Опубликовано: 25 августа 2008 Рассказать Опубликовано: 25 августа 2008 скрипт так и делает, ставит при этом 666, или 666 тоже блокируется хостингом? Цитата Ссылка на сообщение Поделиться на других сайтах
ower_xz 117 Опубликовано: 25 августа 2008 Рассказать Опубликовано: 25 августа 2008 (изменено) Автор Говорят, что нет, но рекомендуют для файлов устанавливать права - 644, для папок - 755. А основная масса аватаров почему получает права 600. Изменено 25 августа 2008 пользователем ower_xz Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 077 Опубликовано: 25 августа 2008 Рассказать Опубликовано: 25 августа 2008 Нет, но рекомендуют для файлов устанавливать права - 644, для папок - 755. в таком случае почему тогда права у ваших автаров не меняются? скрипт это пытается сделать. откройте engine/modules/profile.php и сделайте поиск по 0666 замените на свое в двух местах Цитата Ссылка на сообщение Поделиться на других сайтах
ower_xz 117 Опубликовано: 25 августа 2008 Рассказать Опубликовано: 25 августа 2008 Автор Хостинг ответил: Смена прав на 666/777 не возымеет нужного Вам действия. Вы можете в скрипте задать выставление прав на загруженные файлы 644. (заранее установив права 755 на папку в которую производится загрузка файлов) Или Вы можете прислать нам путь к скрипту и мы попробуем отредактировать его для решения возникшей проблемы. Я попробую изменить в profile.php права на 644, а на папку fotos выставлю 755. Посмотрю, будет ли результат. Цитата Ссылка на сообщение Поделиться на других сайтах
Al-x 7 Опубликовано: 25 августа 2008 Рассказать Опубликовано: 25 августа 2008 Смена прав на 666/777 не возымеет нужного Вам действия. безопасный режим) сори за флуд, больной вопрос) Цитата Ссылка на сообщение Поделиться на других сайтах
ower_xz 117 Опубликовано: 26 августа 2008 Рассказать Опубликовано: 26 августа 2008 Автор Мда... Смена прав не помогла... Все равно аватарам даются права 600. Цитата Ссылка на сообщение Поделиться на других сайтах
ower_xz 117 Опубликовано: 26 августа 2008 Рассказать Опубликовано: 26 августа 2008 (изменено) Автор celsoft, а скажите, в чем разница между картинками в папке posts и fotos (кроме того, что разными модулями обрабатываются)? Ведь картинки в posts имеют необходимые права, и только в fotos они отличаются. По идее, если дело в хостинге, то тогда во всех папках права на картинки должны быть одинаковы... Или я не прав? Тут с хостинга служба поддержки выдала предположение6 Вчера ночью я создавал профиль на Вашем сайте и загружал аватар пользователя (http://edengard.com/uploads/fotos/foto_6682.jpg) Изначально аватар был 100х100px и его размер не изменялся. Возможно изменение прав происходит при ресайзе изображений? У меня последние три аватара, которым выданы права 600 имеют следующие размеры: foto_6702.jpg - 77х101 foto_6703.jpg - 101х101 foto_6708.jpg - 100х100 Административные настройки для пользователей выставлены на ограничение размера аватаров по максимуму 101х101. Изменено 26 августа 2008 пользователем ower_xz Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 077 Опубликовано: 26 августа 2008 Рассказать Опубликовано: 26 августа 2008 celsoft, а скажите, в чем разница между картинками в папке posts и fotos (кроме того, что разными модулями обрабатываются)? никакой.Тут с хостинга служба поддержки выдала предположение6 Цитата Вчера ночью я создавал профиль на Вашем сайте и загружал аватар пользователя (http://edengard.com/uploads/fotos/foto_6682.jpg) Изначально аватар был 100х100px и его размер не изменялся. Возможно изменение прав происходит при ресайзе изображений? Права изменяются дважды в коде, возможно когда вы правили то изменили только в одном месте. Цитата Ссылка на сообщение Поделиться на других сайтах
ower_xz 117 Опубликовано: 26 августа 2008 Рассказать Опубликовано: 26 августа 2008 Автор celsoft, а скажите, в чем разница между картинками в папке posts и fotos (кроме того, что разными модулями обрабатываются)? никакой.Тут с хостинга служба поддержки выдала предположение6 Цитата Вчера ночью я создавал профиль на Вашем сайте и загружал аватар пользователя (http://edengard.com/uploads/fotos/foto_6682.jpg) Изначально аватар был 100х100px и его размер не изменялся. Возможно изменение прав происходит при ресайзе изображений? Права изменяются дважды в коде, возможно когда вы правили то изменили только в одном месте. Права я менял в файле дважды. Сделано было все как вы сказали. Хостинг выдал свое решение проблемы. Они изменили код в /modules/register.php /* if ($res) { $thumb=new thumbnail(ROOT_DIR."/uploads/fotos/".$row['user_id'].".".$type); $thumb->size_auto($user_group[$config['reg_group']]['max_foto']); $thumb->jpeg_quality($config['jpeg_quality']); $thumb->save(ROOT_DIR."/uploads/fotos/foto_".$row['user_id'].".".$type); @unlink (ROOT_DIR."/uploads/fotos/".$row['user_id'].".".$type); $foto_name = "foto_".$row['user_id'].".".$type; $db->query("UPDATE " . USERPREFIX . "_users set foto='$foto_name' where name='$user'"); } else $stop = $lang['reg_err_12'];*/ if ($res) { @chmod(ROOT_DIR."/uploads/fotos/".$row['user_id'].".".$type, 0644); $thumb=new thumbnail(ROOT_DIR."/uploads/fotos/".$row['user_id'].".".$type); if ($thumb->size_auto($user_group[$member_id['user_group']]['max_foto'])) { $thumb->jpeg_quality($config['jpeg_quality']); $thumb->save(ROOT_DIR."/uploads/fotos/foto_".$row['user_id'].".".$type); } else { @rename(ROOT_DIR."/uploads/fotos/".$row['user_id'].".".$type, ROOT_DIR."/uploads/fotos/foto_".$row['user_id'].".".$type); } @chmod(ROOT_DIR."/uploads/fotos/foto_".$row['user_id'].".".$type, 0644); $foto_name = "foto_".$row['user_id'].".".$type; $db->query("UPDATE " . USERPREFIX . "_users set foto='$foto_name' where name='$user'"); } else $stop .= $lang['news_err_12']; Посмотрю как будет работать. Пока что вроде нормально. Права на папку photos выставлены 755, аватары имеют права 644. Цитата Ссылка на сообщение Поделиться на других сайтах
ower_xz 117 Опубликовано: 27 августа 2008 Рассказать Опубликовано: 27 августа 2008 Автор Да такой вариант работает нормально. Если у кого аналогичные проблемы с аватарами, то попробуйте добавить код указанный выше в файл /modules/register.php после 254 строки, а именно после $res = @move_uploaded_file($image, ROOT_DIR."/uploads/fotos/".$row['user_id'].".".$type); В этом же модуле найдите строки @chmod(ROOT_DIR."/uploads/fotos/".$row['user_id'].".".$type, 0666); и @chmod(ROOT_DIR."/uploads/fotos/foto_".$row['user_id'].".".$type, 0666); и замените на @chmod(ROOT_DIR."/uploads/fotos/".$row['user_id'].".".$type, 0644); и @chmod(ROOT_DIR."/uploads/fotos/foto_".$row['user_id'].".".$type, 0644); Возможно, и вам поможет. На папку fotos можно выставить права 755. Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.