Фикс безопасности в LiveStreet 0.5.1

22
Новый Год не всегда приносит радостные эмоции и отличные подарки, иногда сюрпризы более мрачные.
В LiveStreet 0.5.1 в фото-сетах обнаружена XSS уязвимость.

Патч, исправляющий баг, здесь — github.com/livestreet/livestreet/commit/c5b8e20d0ec380c2f2222fa266261d22dc36f926
Либо можно просто повторно скачать архив с LS от сюда — livestreetcms.com/download/ (архив обновлен)

Настоятельно рекомендуем требуем выполнить обновление.
  • +5
  • 08 января 2012, 09:44
  • ort

Исправления для модуля "DokuWiki integration" + обновление DokuWiki

6
Исправляем досадный баг с совпадающими именами и id-шниками сессий у DokuWiki и LiveStreet. Выглядело это так что сайт переставал отвечать на запросы пока не очистим куки или пока не разорвем сессию. (кстати тут и вина PHP есть т.к. ее поведение при возникновении этой ситуации не очень забавное, надо бы багрепорт оформить)
Обновляем DokuWiki до последней стабильной версии.

Нам понадобятся:
0. LiveStreet 0.4.2
1. Плагин DokuWiki integration
2. Свежая и стабильная сборка DokuWiki (на данный момент это Release 2011-05-25 «Rincewind»)

Последовательность:
1. Устанавливаете плагин «DokuWiki integration».
2. Переименовываете папку wiki в wiki_old
3. Создаем папку wiki и копируем в нее свежую DokuWiki
4. В папке wiki удаляем папки conf и data
5. Копируем в папку wiki папки conf и data из папки wiki_old
6. В папку wiki/inc/auth/ копируем файл livestreet.class.php из папки wiki_old/inc/auth/
7. В папку wiki/lib/tpl/ копируем папку livestreet из папки wiki_old/lib/tpl/
8. В файл wiki/doku.php в самом начале после "<?php" добавляем
if ($_SERVER['REQUEST_METHOD'] == 'GET' && !$_SERVER['HTTP_REFERER'])
{
        $_SERVER['HTTP_REFERER'] = 'http://' . $_SERVER['HTTP_HOST'] .'/wiki/';
}

9. Правим файл wiki/inc/load.php


Читать дальше
  • +1
  • 02 августа 2011, 11:47
  • xRay

Два исправления для плагина Pokupalka

1

1. Исправляет не верный подсчет кол-ва объявлений в категориях.


Не верный подсчет кол-ва объявлений в категориях
Товар был добавлен в категорию «Компьютерная техника» в кол-ве одна штука.
Предыстория проблемы была описана тут: livestreet.ru/blog/addons/7073.html#comment118191

В файле /plugins/pokupalka/classes/modules/pokupalka/Pokupalka.class.php

функцию


Читать дальше
  • +2
  • 02 августа 2011, 11:20
  • xRay

Прикручиваем 3 Smarty к LS. Продолжение.

8
Оригинальная статья, которая подтолкнула меня к этому топику: Прикручиваем 3 Smarty к LS

Так как не только у меня возникли проблемы даже после проделывания всех инструкций, я решил исследовать проблему. И похоже у меня получилось решить ее. Так как комментарий получился бы большой, то я решил вынести это в отдельный топик.


Читать дальше
  • +10
  • 28 февраля 2011, 03:08
  • x3r0x

Alpha канал при закруглении углов

4
Вот тут как-то писалось про закруглённые углы, но были и есть проблемы с альфой, белый цвет вместо прозрачности.
Рыл не долго, строка: 481, в файле: engine\lib\external\LiveImage\Image.php


$trans = imagecolorallocatealpha($corner, 255, 255, 255, 0);


нужно просто заменить на:


$trans = imagecolorallocatealpha($corner, 255, 255, 255, 127);


Вроде всё, у меня при любых закруглениях там где надо стоит альфа канал.

Обновление плагина "Static page"

6
Вышло обновление плагина управления статическими страницами для LiveStreet 0.4 — «Static page» 1.0.1.
Исправлена критическая ошибка при создании новой страницы.

Обновится можно двумя способами:
Скачать новую версию плагина
— Самостоятельно внести изменения в плагин: [873:882]
  • +4
  • 05 мая 2010, 09:41
  • ort

LS 3.1 vs php 5.3.1

2
Извращенцам посвящается. =) Я держу боевой сервак практически на альфа версисях ПО, и сегодня прилетело обновление php 5.3.1.
LS высыпалало пачку ошибок вида:
Deprecated: Assigning the return value of new by reference is deprecated in /www/classes/lib/external/DbSimple/Generic.php on line 113

Deprecated: Assigning the return value of new by reference is deprecated in /www/classes/lib/external/DbSimple/Generic.php on line 133

Deprecated: Assigning the return value of new by reference is deprecated in /www/classes/lib/external/DbSimple/Mysql.php on line 70

Warning: date() [function.date]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Moscow' for 'MSK/3,0/no DST' instead in /www/classes/modules/user/User.class.php on line 238

Warning: date() [function.date]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Moscow' for 'MSK/3,0/no DST' instead in /www/classes/modules/topic/Topic.class.php on line 481

Warning: date() [function.date]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Moscow' for 'MSK/3,0/no DST' instead in /www/classes/modules/topic/Topic.class.php on line 368


В первых строках php ругается на то, что используемые функции устарели и в следующих версиях php поддерживаться вообще не будут. Я не стал париться и вырубил вывод ошибок заменив в index.php строчку
error_reporting(E_ALL);
на
error_reporting(E_ALL ^ E_DEPRECATED);


А вот таймзону пришлось добавить. В index.php ниже строки error_reporting дописываем:
date_default_timezone_set('Europe/Moscow');

Список тайм зон можно посмотереть тут.

UPD Упомининие о таймзоне так же следует добавить в function.php

Profit!

Исправление в шаблоне developer

 
У меня небольшая просьба для разработчиков — в шаблоне developer переименовать файлы:

  • roar.css в Roar.css
  • autocompleter.css в Autocompleter.css

Причина тому, что на *nix серверах системах это два разных файла. Из-за этого не подгружаются стили и шаблон отображается некорректно.
  • +1
  • 28 февраля 2010, 17:14
  • Burn

Подключение плагинов под Windows [rev. 688]

 
Файл: Engine.class.php, функция InitPlugins

275: if($aPluginList = @file(Config::Get('path.root.server').'/classes/plugins/plugins.dat')) {
276: foreach ($aPluginList as $sPluginName) {


При обработке файла /classes/plugins/plugins.dat сформированного в Windows редакторе, в переменной $sPluginName остаются два символа с кодами 13 и 10.

Предлагаемое решение проблемы: обработка $sPluginName функцией trim.

275: if($aPluginList = @file(Config::Get('path.root.server').'/classes/plugins/plugins.dat')) {
276: foreach ($aPluginList as $sPluginName) {
+277: $sPluginName=trim($sPluginName);


Аналогичные проблемы найдены в:
Engine.class.php, функция InitPluginHooks
Lang.class.php, функиця LoadLangFiles
loader.php, строка 136