логин: 
<< предыдущая заметкаследующая заметка >>
17 января 2010
обновите install.php

Если вдруг кто ставил install.php — обновите его (да прямо им же), была очень нехорошая ошибка. Да, и нажмите Clean *.old тоже.

PS: Кстати, подскажите, можно ли в PHP (через set_ini() или еще как) выставить по умолчанию права, с которыми PHP будет записывать файлы командой file_put_contents и другими?

UPD: Я опять что ли по ошибке заменил существующую заметку? Заебало. Надо что-то делать с этим.

<< предыдущая заметка следующая заметка >>
пожаловаться на эту публикацию администрации портала
Страницы, которые привлекли мое внимание за последние дни, рекомендую:
2017-11-22 В июне 1982
архив ссылок
Оставить комментарий
А я успел нарваться только на невозможность заменить нужный файл... :)
0
0
Leonid Kaganov
В каком смысле? Наверно имеет смысл обновить install.php - я в нем еще много поправил.
Более старым записал. В директории design не получалось заменить картинки...
Обновил, доступ не появился все равно...
Ни с фтп, ни с админпанели... :)
Скриптом получилось сменить атрибуты нужных файлов...
0
0
Leonid Kaganov
Там ответить не дает, отвечаю здесь.

1) Вадим, ну для кого я делал в админке опции управления обновлением с ея запоминанием? Специально, чтобы человек мог просмотреть все предложенные изменения и снять отметку с тех элементов дизайна, которые сделал сам и обновлять не желает.

2) Насчет прав файлов - надо подумать. А как выглядит скрипт на php? chmod($url,0666); Тогда я его вставлю в инсталлятор, чтобы сам выставлял права нужные.

3) У тебя сейчас не работают комментарии (видимо, для посторонних), пишет ошибку:

Не могу сохранить картинку в директорию "/usr/local/pem/vhosts/103494/webspace/httpdocs/dnevnik/tmp/antibot_cash/", проверьте, создана ли она, и установлены ли права записи?

(чтобы увидеть текст этой ошибки, мне пришлось вызвать аякс напрямую с get-параметрами по ссылке http://www.mine.kz/dnevnik/ajax/comment.php?a=comform&id[...], надо мне предусмотреть, чтобы выдавало ошибку более явно).

Смысл в том, что поскольку я пока на том сайте впервые (с точки зрения системы авторизации), то мне оно предлагает подтвердить капчу. А капчу для меня пытается записать в директорию, и записать не может - нет прав. Установи в tmp/antibot_cash права записи.
При запуске инстала первый раз появились проблемы с правами на директории. Сегодня вечером я это исправлю. Обязательно отпишу. :)Пока установил права только на директорию с картинкой...
Сам скрипт http://mine.kz/files/chmod.rar
Я на php смотрю первые дни, поэтому проще дать ссылочку. :)
В итоге снес все, что было, залил заново.
после полной отработки install.php antibot_cash не появилась. Добавлял руками...
0
0
Leonid Kaganov
Ох, да, он же теперь в вето... Буду думать мозгом сильно-сильно.
SAFE MODE — зло. Safe Mode на платных хостингах — недопустимое зло, а хостинг — трата денег

На бесплатных уж извините, юзайте что работает

А вообще это хороший тон — определять минимальную версию PHP (у старых еще требовать отключения этого ужасного Safe Mode), и на нее ориентироваться, а не писать костыли чтоб оно работало вплоть PHP/FI, сконфигурённого упоротым LSD ламером =)
0
0
Leonid Kaganov
Ну у меня из костылей в основном только отсутствие работы с многобайтовыми кодировками (не люблю их), кое-какие затычки пришлось писать. Ну и put_file_contents - удивительная подстава конечно. Но не проблема переопределить. if(!function_exists('file_put_contents')) { function file_put_contents($url,$s) { $f=fopen($url,"w"); fputs($f,$s); fclose($f); chmod($url,0666); } }
хорошо ли защищена система от вызова install.php посетителями сайта в хулиганских целях?
0
0
LLeo Nokia (#3043)
Правильный вопрос. Наверно правильный ответ на него "да, я это держал в уме". Понятно, что надо обеспечить и авторизацию админа (ведь поначалу ее нет, а затем появляется), и безопасность базового сервера (моего), и безопасность клиентских. Причем, безопасность - это и защита от проникновения, и защита от нежелательных утечек инфоримации. Все это старался учитывать.
0
0
zencd (propir)
По идее обычной авторизации (или аутентификации?) через .htaccess должно хватить. Единственное, надо напомнить её организовать.
0
0
Leonid Kaganov
htaccess вообще тут ни при чем, особенно если учесть, что в начале работы install его еще не существует
у меня без авторизации не пускает...
Задавать права по умолчанию можно с помощью umask. Но этот метод не рекомендуется, так как, предполагает, знание значений по умолчанию в системе. С другой стороны его часто используют, так как значения по умолчанию, как правило, одни и те же.

ИМХО лучше задать свои значение по умолчанию у себя в конфиге для нескольких видов файлов и все-таки явно использовать chmod.
0
0
Leonid Kaganov
Ну это мне надо лазить по всему коду движка и всюду, где file_put_contents, прописывать chmod... Это лень. А с umask я не понял, при чем тут умолчания в системе? Как это связано?
"umask sets which permissions must be REMOVED from the system default when you create a file or a directory".

Пример. Системные значения по умолчанию (права на файлы) 0666. umask по умолчанию в пхп 0022. Таким образом файлы будут создаваться, с правами 0644. В общем все хорошо, кроме довольно редкого случая, когда значения по умолчанию не есть 0666.

С другой стороны, для типового хостинга, изменения значений по умолчанию мало вероятно.

Если код уже написан, umask, неплохое решение.
0
0
LLeo Nokia (#3043)
Я все равно не понимаю. Мне нужно, чтобы выставлялись права именно 0666 - модель безолпасности, которая мне мыслится, не предполагает угрозы изнутри, только извне. Почему не выставлять полное разрешение чтения и записи для всех, кто имеет доступ к внутренностям сервера?
0
0
Crio (#7622)
Сори, меня пару дней не было, а теперь что-то залогиниться не могу. Чтобы решить вашу задачу сработает umask(0000) в начале скрипта;

А я говорил не про безопасность, а про то, что использование umask предполагает знание значения по умолчанию в системе. В данном случае мы предполагаем, что оно 0666 (и будем в 99% случаев правы).
0
0
Leonid Kaganov
Да я уже нашел все процедуры записи файлов и впендюрил после каждой chmod 0666. Их не так много в движке - несколько штук.
0
0
Andrey Pozdnyakov
test IE
0
0
Andrey Pozdnyakov
ok
0
0
Andrey Pozdnyakov
вру, это firefox был..
под IE ничего не работает..
0
0
LLeo Nokia (#3043)
а что говорит-то? Почему?
молчит, ничего не говорит
кнопочка "оставить комментарий" не работала, а кнопочки "ответить" вообще не было видно.

при этом залогинилось вроде нормально
0
0
LLeo Nokia (#3043)
Тут нужны спецы по IE. Поступим так: я допилю движок до победного конца (прилажу editor, поправлю мелочи - видимость комментов, мемкэш правильный, голосование исправлю, комменты для лохов с отключенным JS и т.п.), затем перееду на новый движок основным дневником, и тогда кину там клич с просьбой о помощи. И решим проблему.
Отлтичный план!
кстати с логинами все еще не все впорядке.
вот я например, за другим компом под другим логином - а перелогиниться не получается. Это firefox, linux

и еше за этим компом такой глюк:
кликаю на любого пользователя (в т.ч. себя иди ллео),
всегда выводится следующий юзер:

diff
openid: diff.livejournal.com
регистрация: 2008-12-29 20:11:21
0
0
LLeo Nokia (#3043)
я буду с этим разбираться.
Самое простое, что я сделал: у каждой заметки рядом с заголовком есть ссылка "редактировать", а в главном меню есть ссылка, всегда открывающая редактор за данное число.
Может стоит сделать так чтобы к числу автоматически добавлялся индивидуальный номер, то есть ссылка имела вид /год/месяц/день/номер?
0
0
LLeo Nokia (#3043)
Это о чем? О проблеме создания новой заметки? Дело в том, что движок должен быть универсален не только для заметок, но и для статических страниц типа about.html, где никакой номер немыслим. Я думаю, как появится аякс-редактор во всплывающем окне, так и проблема решится.
и кстати он не совсем универсален в этом плане (старая версия)
у страниц типа about.html наверно стоит завести отдельно дату создания
0
0
LLeo Nokia (#3043)
И зачем странице about.html дата создания? Как и где и с какой целью посетитель станет ее использовать? Вас интересует дата создания about.html? Или последнего обновления (исправили запятую)? Или дата последнего серьезного обновления?
например, "следующая заметка" из about переходит на страницу с датой. было бы правильно (и удобнее для меня) если бы пролтстывались все заметки такого рода по порядку - например если бы была дата.
можно еще их листать по алфавиту, как выводится в "содержании".
это, все, конечно, только нужно, если много неформатных заметок
0
0
LLeo Nokia (#3043)
Андрей, ошибка в том, что вы воспринимаете заметку без даты как страницу блога, только почему-то без даты. А это не страница блога, это страница сайта. Укажите ей другой шаблон дизайна и получите повесть, инструкцию к программе, раздел контактов с телефонами офиса. Никакой связи и никакой навигации здесь не нужно.
0
0
LLeo Nokia (#3043)
А, в смысле, сами заметки делать 2010/01/18/01.html? Да нет, это никак невозможно. Во-первых, ебнется весь мой старый дневник...
0
0
LLeo Nokia (#3043)
Кроме того, разумной была идея (еще от Созидателя), создавать в корне папки с именами 2001/04/, 2010/01/, где раскладывать файлы, относящиеся к заметкам - фотки, ролики, мало ли. А в заметке указывать только имя - соответственно заметка 2010/01/18.html адресуется к папке января 2010/01/,
хм, а после новой установки так и должно быть
"SQL error: Table 'sepulka_blog.dnevnik_comments' doesn't exist"?
0
0
Leonid Kaganov
Не обращайте внимания. Это какое-то предупреждение, оставшееся от моих модулей апгрейда своих старых баз. Неприятно, что оно вылезает (кажется, час назад я что-то правил на этот счет), но к вам оно никакого отношения не имеет.
0
0
Mik (#2984)
antibot_cash это опечатка (cash/cache) или задуманная игра слов?
0
0
Leonid Kaganov
Да какая вам разница, как названа служебная папка? При нормальной работе движка ни вы, ни ваши посетители никогда не прочтут этого буквосочетания.
0
0
Mik (#2984)
по существу - разумеется, разницы нет.
чистая эстетика для взгляда изнутри

всего комментариев: 43

<< предыдущая заметка следующая заметка >>