Вышла в свет новая версия LiveStreet CMS 1.0.2

LiveStreet CMS
Итак, сегодня в 16 часов по киевскому времени вышла новая версия Ливстрит под номером 1.0.2. Что же нового в данной версии? Чтобы узнать список изменений — добро пожаловать под кат.

В новой версии движка для конечного пользователя мало что интересного, все основные бои произошли «под капотом» движка, которых немало:

  1. В движке исправлены все найденные мною уязвимости, список которых можно посмотреть в блоге.
  2. Закрыт небольшой недочет, который почему-то назвали пассивным XSS
  3. Закрыт один из путей для получения списка плагинов на сайте
  4. Доступ к файлам шаблонов теперь всегда закрыт извне главным .htaccess
  5. В предпросмотре топика-опроса и топика-ссылки теперь работают теги
  6. В сущностях топика появились методы getUrlEdit(), getIsAllowDelete(), getIsAllowEdit() и т.п. которые заменяют аналогичные громоздкие конструкции в шаблонах, а также исправляют ошибку при работе с топиками и реврайтами.
  7. Улучшена защищенность кук в современных браузерах (передача только про протоколу http(s)), что не позволит украсть злоумышленнику куку средствами JS, тем самым делая невозможным вход на сайт под вашим аккаунтом (не зная пароля). Проще говоря — используйте последние версии современных браузеров (ФФ, Хром) и у вас не уведут доступ на сайт.
  8. Возможность задавать возможные наборы символов для логинов на сайте, т.е. у вас есть возможность легально использовать кириллицу в логинах. Правда не все сторонние плагины на это адекватно отреагируют, но их адаптируют.
  9. Возможность отключать каптчу при регистрации, может быть полезно при использовании ЛС как внутренней сети компании.
  10. Исправлены ошибки запуска ЛС из командной строки (по крону).
  11. Из конфига удалены старые опции, которые остались от прошлых версий и ни на что не влияли.
  12. В конфиге появились опции, такие, например, как
    $config['smarty']['compile_check'] = true;

    которые при модификации позволяют ещё значительнее повысить скорость работы движка на продакшн серверах за счет отключения проверок шаблонов на изменения.
  13. Максимальное количество символов в топике-ссылке и топике-опросе задается в конфиге.
  14. В настройках jevix теперь есть список разрешенных протоколов (раньше они были жестко ограничены http(s) и ftp). Теперь добавить свои протоколы, например, «apt://» не составит труда.
  15. Исправлены предупреждения несоответствия стандартов на последних версиях пхп
  16. Много правок в ORM
  17. Много где появился .htaccess где ему и следовало быть с самого начала.
  18. Исправлены утечки памяти
  19. Исправлены ошибки формирования некоторых ссылок в мета теге canonical
  20. Теперь при адаптации шаблонов плагинов под другие шаблоны не нужно копировать всю папку шаблона в новую, достаточно скопировать туда только те файлы, которые были изменены относительно шаблона default, все недостающие файлы движок будет автоматически брать из папки шаблона default плагина.
  21. Изменены часовые пояса для России.

Т.е. в общих словах, версия LiveStreet 1.0.2 содержит много исправлений безопасности движка и значительное увеличение производительности.
5 комментариев
Grab
Чудесно! Интересно, исправлен ли этот баг?
Serge Pustovit
мне не известно. у вас удалось его воспроизвести на 1.0.1?
с тех пор две версии ЛС сменились.
Grab
Да. Проверил на новой версии, при удалении блога, связь в базе остается.
Полез в код, в модуле блога(Blog.class.php) строчка 797 гласит, что мы не можем это сделать, если движок базы — InnoDB =\
Serge Pustovit
Если движок InnoDB то связи удаляются автоматически. и там как раз так и указано — для таблиц типа MyISAM удаление происходит вручную. InnoDB с этим должен справляться с помощью внешних ключей.
Grab
Хмм, интересно, как так могло случится, что в настройках по умолчанию стоит InnoDB, а в базе все таблицы MyISAM, их же никто не конвертировал спецом? Посмотрел дамп в инсталле — там все InnoDB. А вобщем, вот и баг, надо еще дополнительно смотреть на тип таблицы непосредственно в бд.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.