Эгея v3576
Вышел четвёртый сервис-пак для Эгеи 2.9, сборка v3576.
В этой сборке исправлен неприятный баг, который мог происходить у тех, кто ранее обновлялся до 2.9 сразу с 2.5 или более ранней Эгеи. В некоторых случаях могло происходить зацикливание сервиса фоновой обработки заметок, который отвечает за индексацию в поиске и трансляцию в «Блоги». Из-за этого поиск работал плохо, а трансляция работала «слишком хорошо»: одни и те же заметки снова, снова и снова отправлялись в качестве новых в «Блоги», что грузило сервер.
Собственно, если бы не последнее, я бы даже не узнал о баге. Замечали, что в последнее время на моём сайте иногда вместо заметок блога открывались страницы с серым лимоном? Это из-за того, что сервер помирал под наплывом тысяч и тысяч уведомлений в «Блоги» от десятка блогов, на которых проявлялся этот баг. Когда я разобрался, что дело в этом, я заблокировал запросы от этих блогов, чтобы мой сайт вздохнул свободно — теперь вроде лимон не появляется. Но это был костыль, а не решение.
Мне удалось связаться с авторами нескольких таких блогов, вместе с ними провести расследование, найти и исправить баг. Они уже обновились до v3576 (и, соответственно, разблокированы).
Обновиться рекомендую тем, кто обновлялся до 2.9 с версии 2.5 или более ранней Эгеи.
Вот сайты, на которых мне известно об этом баге, с авторами которых мне пока связаться не удалось:
blog.dfedorov.spb.ru- dolnikov.ru
- maxkuznetsov.ru
- notes.zavarzin.org
- olegnizamov.ru
- yurikarabatov.com
Если верно, что вы обновлялись с 2.5 или более ранней Эгеи, приглашаю вас обновиться до v3576 — у вас заработает поиск и ваш сервер перестанет делать кучу ненужной работы. Скажите, как обновитесь, я вас разблокирую в «Блогах». Но если вдруг предположение об обновлении неверно, пожалуйста, ничего не делайте, а просто свяжитесь со мной! Потому что если так, то значит у вас к проблеме приводит какой-то другой, пока неизвестный мне баг, и я бы хотел это тоже исследовать.
Процедура обновления стандартная: заменить .htaccess, папку /system/ и все подпапки /themes/ новыми.
Свежий дистрибутив — на сайте движка.
Заметил баг, но никак не могу понять при каких условиях срабатывает. Он заключается в том, что счетчик просмотров иногда резко увеличивает количество просмотров. Условно, в моем блоге на статье было вчера просмотров 20, а сегодня заходишь и их 100+. На определенной статье. Но по Яндекс.Метрике видно, что столько людей страницу не открывали. Откуда они взялись — непонятно.
Пока заметил такое 2 раза. Но из-за чего он срабатывает так, я так и не понял. В моем блоге если полистать заметны эти посты с «накрученными просмотрами». Когда в среднем это не больше 30-50 просмотров, то 100+ выделяются.
Вопрос: в каком файле дистрибутива (или в какой строке и параметре базы данных) хранятся данные счётчиков посещении отдельных постов?
В таблице Actions.
Багрепорт: У меня тэг (div) внесён в список sacred Нисдена. Между тем, на выходе в коде страницы вижу, что Нисден вставляет перевод строки (br /) после закрывающего тега (/div), вследствие чего вёрстка разъезжается.
Вопрос на тему безопасности. Сейчас пароль-логин пользователя MySQL и название базы отображаются в открытом виде (см. Настройки > Соединение с базой). Таким образом, в случае кражи/подбора пароля к Эгее злоумышленник получит в качестве бонуса ещё и ключи от базы MySQL (в которой, заметим, могут храниться не только заметки Эгеи). Хорошо ли это?
Подумаю.
Вопрос на тему юзабилити. Сейчас диалоговое окно «Сброс пароля» (имя_сайта_/settings/password-reset/) представляет поле для ввода и кнопку «Отправить ссылку на этот адрес» — и не содержит никаких подсказок о том, какой адрес туда нужно вводить.
Если вы пользователь-новичок и впервые попадаете на страницу сброса пароля, такой её дизайн может бросить вас в холодный пот, ибо она провоцирует думать, как будто ссылку для сброса пароля можно отправить на ЧЕЙ УГОДНО имейл. (Последующее сообщение — «Если вы правильно указали имейл, то…» не устраняет это подозрение, кстати.)
В этой связи, не следует ли для большей понятности и пользовательского peace of mind снабдить эту страницу кратким поясняющим текстом? Например, «Введите адрес эл. почты, указанный в настройках Эгеи. (На него придёт ссылка на сброс пароля)»?
Наверное, можно подкрутить, но не считаю это достаточно важным пока что.
После обновления Эгеи до 2.9 (3576) адреса картинок и/или заголовков на некоторых постах начали периодически самопроизвольно прописываться не через доменное имя, а через IP.
Пример: вместо https://ivanpetroff.ru/pictures/image.jpg картинка в посте получает адрес https://46.234.76.42/pictures/image.jpg
При заходе на такую страницу по SSL браузер усматривает нарушение безопасности и не отображает картинки. Читатели мне третий раз жалуются, что картинки в постах не видны.
Что провоцирует этот баг и как его воспроизвести, я не понимаю. Но раньше такого никогда не наблюдалось.
А что это за айпи-адрес? Видимо, вы или кто-то когда-то по нему зашли, ссылки в таком виде закешировались и теперь в каких-то местах так и отдаются.
По-хорошему надо настроить, чтобы блог открывался только по одному адресу, а не по нескольким, а с остальных был редирект. Если это почему-то невозможно, пропишите в конфиге $_config[’preferred_domain_name’] = ’ivanpetroff.ru’, это должно помочь.
Это мой айпи-адрес, тот, на котором работает мой блог. Сброс кеша не помогает. Насколько я понял, проблема была в конфигах сайтов в Апаче (я удалил один виртуальный домен, а его конфиг остался). Так или иначе, если настройка $_config[’preferred_domain_name’] практически гарантирует правильную выдачу вне зависимости от конфигов Апача, может быть, активировать её по умолчанию, в дистрибутиве?
В смысле, как по умолчанию? Её значение — это доменное имя, которое вы хотите использовать. Откуда дистрибутив может его знать?
> Откуда дистрибутив может его знать?
Я исходил из предположения, что Эгее известно доменное имя сервера, на котором она установлена; в этом случае она могла бы запоминать его в качестве основного (единственно возможного). Если моё предположение неверно — извините за беспокойство, вопрос снят.
Так вопрос в том, что такое «сервер, на котором она установлена», если это не «сервер, с которого её открывают»? Если она абсолютно одинаково открывается по нескольким разным адресам, то из каких соображений она должна предпочесть один из них?
> что такое «сервер, на котором она установлена», если это не «сервер, с которого её открывают»?
Прошу прощения, но смысл этого вопроса от меня решительно ускользает — видимо, потому, что я не программист и не разбираюсь в подобных вещах достаточно глубоко. Правильно ли я понял, что Эгея не может знать доменного имени сервера, на котором она установлена, до тех пор, пока пользователь сам не пропишет это доменное имя в конфиге?
Да дело не в том, что Эгея что-то не может определить, а в том, что такого понятия просто нет. Слова «доменное имя сервера, на котором она установлена» не имеют смысла. Эгея установлена на каком-то компьютере, который мы называем сервером. У компьютера нет доменного имени; доменное имя — это штука вообще во внешнем относительно этого компьютера интернете. К одному и тому же компьютеру могут обращаться за сайтами, связанными с тысячами разных доменов.
К компьютеру приходит запрос: «Отдай мне данные по домену ilyabirman.ru; ДНС-сервер сказал, что их надо искать у тебя». И компьютер отдаёт. Если несколько доменов настроены так, что они открывают одни данные с одного компьютера, то почему компьютер должен считать один из них более «правильным», чем другой? Только потому, что кто-то специально так ему сказал считать. Вы пока не сказали. Параметр конфига, про который я писал — как раз чтобы сказать. Но если всё нормально настроено, то это просто не нужно, потому что не возникает ситуации, когда разные адреса ведут на одни и те же данные.
Разница между доменным именем и сервером, на котором размещены файлы сайта, мне известна (но спасибо за объяснение!). Очевидно, для большей точности в моём вопросе мне следовало использовать определение «доменное имя (имена?), ассоциированное(ые?) с IP-адресом устройства, на котором установлена Эгея». Так правильней?
> почему компьютер должен считать один из них более «правильным», чем другой?
Я не знаю, почему. Ведь не я автор движка, и я понятия не имею о том, каковы его возможности в определении доменных имён. Поэтому спрашиваю автора.
Между тем, из второй части вашего высказывания («…если всё нормально настроено…») я предположил, что проблема может иметь отношение не к настройкам Эгеи, а к внешним настройкам — предположительно, настройкам сервера, на котором она установлена. Так ли это?