InstantCMS 2.16.1

3.65K

Всем привет!

Новый релиз, как всегда, внезапно :) На этот раз основной причиной послужили большое количество репортов безопасности. Казалось бы, с чего вдруг ;-) Но не всё так страшно.

Более года назад мы сделали небольшой лендинг для англоязычной аудитории и демо к нему. Через какое-то время туда «налетели» любители потестировать, чему мы, в общем-то, были рады. Демо раз в пол часа автоматически обнулялось, тестеры — тестили. А потом пошли репорты с сайта huntr.dev. Поначалу я даже не понял что за репорты и с чего вдруг кто-то бесплатно решил делиться информацией. Как оказалось, этот сервис сам мотивирует своих пользователей (деньгами и внутренним рейтингом) искать уязвимости в open source продуктах. Мы, разумеется, не против. На текущий момент обработано порядка 30 репортов, из них подтверждённых (и исправленных) около 25. Неплохой результат. Но сильно повода для паники нет. Итак, что конкретно мы исправили:

  • Исправлена Blind SQL Injection в фильтрах датагридов в админке;
  • Исправлена Blind SQL Injection в автозавершении ввода компонента тегов;
  • Исправлена Blind SSRF при загрузке фото по ссылке, переписан класс cmsUploader;
  • Secure flag для Cookie теперь ставится всегда, если в конфигурации сайта указан протокол HTTPS;
  • Исправлены все известные XSS в админке;
  • Исправлена проблема и её последствия, когда подстановкой в url можно было отправить самому себе личное сообщение;
  • Теперь нельзя изменить пароль на тот же;
  • Идентификатор сессии теперь меняется после авторизации/выхода;
  • Администраторы теперь не могут со стороны сайта менять пароли друг другу (в админке эта возможность оставлена, т.к. её можно закрыть по ip адресу);
  • HTML поля в настройках типов контента (описание, наборы, фильтры) теперь сохраняются через типограф;
  • Для строковых полей, если в нём не запрещены HTML теги, значения обрабатываются типографом;
  • Редактор Redactor пропатчен из-за возможной XSS.

Если вы не хотите обновляться или нет такой возможности, то из самого опасного — замените этот файл по пути /system/controllers/tags/actions/autocomplete.php. Тут была слепая SQL инъекция. А также отключите для полей изображений добавление по ссылке. В остальном 90% XSS которые мы закрыли, касались админки и в целом их опасность сильно преувеличена. Однако мы старались давать обратную связь хантерам и закрывать/исправлять всё обнаруженное, тем самым мотивируя их на новые поиски, возможно, более опасных уязвимостей. В целом, считаю это отличный опыт и неплохой результат за 70$ (цена трёх доменов, которые мы купили). Уверен, хантеры продолжат поиски, а мы продолжим исправлять то, что они находят.

Другие изменения

  • Обновление событий в админке теперь исключает выключенные компоненты;
  • Код инвайта теперь сохраняется в Cookie, что по сути является реферальной системой;
  • SEO поля в записях типов конетнта теперь мультиязычные;
  • Корректная обработка ссылок с хэшами (знак решётки) в пунктах меню;
  • Исправлена проблема с ограниченным количеством записей в некоторых разделах админки после обновления до 2.16.0;
  • Для поля «Изображение» добавлены опции «Включить редактор изображений перед загрузкой», которые позволяют обрезать изображение перед загрузкой;
  • Класс Simple PHP YAML обновлён до актуальной версии;
  • Toastr и jQuery обновлены до актуальных версий;
  • Мелкие правки установщика InstantCMS.

Как установить обновление InstantCMS

Важно! Убедитесь, что сейчас вы используете версию 2.16.0, иначе, обновитесь сначала до неё.

Перед началом обновления обязательно сделайте резервную копию своего сайта и дамп базы данных. Мы не несем никакой ответственности за любые потери данных, произошедшие в результате неправильных действий при обновлении. Структура базы данных в этой версии не менялась.

  • Отключите кеширование в настройках сайта;
  • Отключите объединение js и css в настройках сайта;
  • Если вы используете свой шаблон и в нем есть файлы, присутствующие в пакете обновления, то обновите их;
  • При возникновении «белого экрана» категорически читать здесь;
  • Для тех, у кого свой шаблон у нас есть статья как быть, если в обновлении CMS есть изменения в шаблоне, рекомендуем к прочтению.

Если в вашем шаблоне присутствуют JavaScript файлы со своими правками (взяты из /templates/default/js/ или /templates/modern/js/), замените/смержите их из пакета обновления. Не забывайте о сбросе кэша браузера абстрактным счетчиком.

Механизм установки обновлений подробно описан по этой ссылке в документации.

Пакет обновления для ручной установки можно скачать по этой ссылке.

Спасибо, что выбираете InstantCMS.

Добра и Мира ☮

P.S. Мне тут подсказали, что сегодня день программиста оказывается, отличное совпадение. Поздравляю всех причастных!

Поддержите проект

Вы можете стать официальным спонсором или оказать другую поддержку. Вы также здорово поможете, если поставите звезду на GitHub.

+1
Михаил Михаил 7 месяцев назад #

хорошая новость на сон грядущий, спасибо за работу

+1
Fuze Fuze 7 месяцев назад #

К вашему дню рождению как раз) Поздравляем!

0
Михаил Михаил 7 месяцев назад #

Благодарю!

+1
dChirkis dChirkis 7 месяцев назад #

Вау, круто. СПАСИБО

+2
oscar oscar 7 месяцев назад #

Вау супер и Вас с праздником, прям супер событие!!! Спасибо!

+3
My-InstantCMS.Ru My-InstantCMS.Ru 7 месяцев назад #

Спасибо за работу Fuze и спасибо тестерам huntr.dev за бесплатный аудит безопасности 👍

0
pupsik pupsik 7 месяцев назад #

А также отключите для полей изображений добавление по ссылке.

Можно поподробней? Желательно для админки которая на Английском

Как это отключить в tinyMCE?

0
Fuze Fuze 7 месяцев назад #

Изображение

Для редактора tinyMCE делать ничего не надо.

0
pupsik pupsik 7 месяцев назад #

Да что мне это мену. Как мне до него добраться? Нашел. В группах.

Components  -> Groups -> Group logo

0
savenkoffcom savenkoffcom 7 месяцев назад #

Спасибо за обновление. Безопасность важнее всего! А не подскажете, случаем, что с обновлением премиум компонентов iVideo и instantMaps. Из-за отсутствия информации о доступности обновлений не могу даже до 2.16.0 обновиться. Слишком много проблем с хуками и отсутствие поддержки новой темы админки сильно напрягает.

0
savenkoffcom savenkoffcom 7 месяцев назад #

Я готов поработать с компонентами для их совместимости с 2.16.0, однако исходный код закрыт. Мне они оба нужны, сильно проблематично отказываться от функционала.

+1
Fuze Fuze 7 месяцев назад #

И InstantVideo и тем более InstantMaps поддерживают давно новую админку. Для InstantVideo нет поддержки 2.16.0 и шаблона modern. Когда я такое обновление сделаю — не знаю. Все файлы шаблонов открыты.

0
savenkoffcom savenkoffcom 7 месяцев назад #

Для InstantVideo много ошибок формата

  1. Notice: Trying to access array offset on value of type null in /system/controllers/video/hooks/grid_admin_content_items.php on line 0

Их исправить самостоятельно невозможно, будем ждать обновления.

Касательно шаблона админки InstantMaps ещё терпимо, но есть над чем поработать.

А вот с InstantVideo совсем плохо, особенно некоторые раздел «Очередь обработки», где вообще ничего невозможно сделать без смены дизайна.

Изображение

Вообщем InstantVideo очень требует обновления. И я надеюсь, у вас будет время его сделать. Спасибо заранее.

0
Александр Александр 7 месяцев назад #
  1. Если вы не хотите обновляться или нет такой возможности, то из самого опасного — замените этот файл по пути /system/controllers/tags/actions/autocomplete.php. Тут была слепая SQL инъекция.

Это и на 2.14 можно сделать?

Спасибо за вашу работу!

0
Fuze Fuze 7 месяцев назад #

Это и на 2.14 можно сделать?

Да

0
Def Def 7 месяцев назад #

Спасибо большое за обновление! на 2.13 подойдет или надо обязательно обновить на 2.14 и далее уже загружать файл?

0
Fuze Fuze 7 месяцев назад #

Просто замените файл, сделав бэкап старого и проверьте автозавершение тегов. Дольше спрашиваете.

0
CEH9I CEH9I 7 месяцев назад #

После обновления перестали сохранятся чекбоксы в настройках доступа полей и вообще в админке и ругается на ошибку

Изображение

+2
CEH9I CEH9I 7 месяцев назад #

В общем ошибка 503 была из-за отключенного ТК. А чекбоксы следствие кривого обновления ранее, был старый файл system/fields/listgroups.php, после замены на свежий все появилось. Проблему помог решить Zau4man, за что ему огромное спасибо. 

0
Юран Юран 7 месяцев назад #

Попробовал на локальном обновиться с 2.16.0 через админку, выдало такое:

  1. Fatal error: Uncaught Exception: system/core/configs.php in C:\OSPanel\domains\instant\system\config\autoload.php:53 Stack trace: #0 [internal function]:
  2. autoLoadCoreClass() #1 C:\OSPanel\domains\instant\system\core\config.php(5): spl_autoload_call() #2
  3. C:\OSPanel\domains\instant\system\config\autoload.php(56): include_once('C:\\OSPanel\\doma...') #3 [internal function]: autoLoadCoreClass() #4
  4. C:\OSPanel\domains\instant\bootstrap.php(31): spl_autoload_call() #5 C:\OSPanel\domains\instant\index.php(28): require_once('C:\\OSPanel\\doma...') #6 {main}
  5. thrown in C:\OSPanel\domains\instant\system\config\autoload.php on line 53
  6.  

Ребята, кто нибудь подскажите что это за ошибки… и откуда configs.php...

+1
Fuze Fuze 7 месяцев назад #

configs.php появился ещё в 2.16.0. Почему у вас так, я не могу знать. Вероятно вы решили что файл configs.php лишний и удалили его.

0
Юран Юран 7 месяцев назад #

Странно… вроде не удалял… наверное обновил до 2.16.0 криво. Сейчас поставлю чистую 2.16.0 и снова попробую проделать все.

0
Юран Юран 7 месяцев назад #

Прошу прощения, обновлял с какой то левой версией с github, а не с чистой 2.16.0 — сейчас все четко обновилось.

0
F_a_R_i_D F_a_R_i_D 7 месяцев назад #

Благодарю за обновление

После обновления нигде не работает кнопка Сохранить

+1
Fuze Fuze 7 месяцев назад #

Не знаю о чём речь, но после обновления везде работает кнопка сохранить.

0
F_a_R_i_D F_a_R_i_D 7 месяцев назад #
0
F_a_R_i_D F_a_R_i_D 7 месяцев назад #

В админке не могу сохранить изменения. Кнопка Сохранить не работает. Не реагирует.

+1
Zau4man Zau4man 7 месяцев назад #

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

Поэтому кнопка не нажимается, ожидая заполнения обязательных полей 

0
F_a_R_i_D F_a_R_i_D 7 месяцев назад #

Благодарю. Так и есть. Вспомнил, что такая проблема была у меня. Я удалил папку EN, при обновлении папка опять загрузилась в директорию languages, а строки EN в настройках остались пустыми, поэтому не сохранялся.

0
Abobo Abobo 7 месяцев назад #

Супер, спасибо. А исправлено жуткого подвисания страниц на сайтах с большими базами? Если, к примеру 100k записей, то вся пагинация, да и главная  пролистывается с задержкой до 4-6 сек. Я уже год ищу, консультируюсь и не могу решить эту проблему. То что у меня что-то неправильно настроено, ответ хороший. Но у меня мощный дорогой сервер и не самые глупые специалисты. И все как один заявляю мол это особенность движка. Неплохая такая особенность :)  Записи заливались на чистую систему без всяких дополнений и если при 10k записей все в летает, то при 100k записей все лагает… Размер базы не превышает 200MB.  А так спасибо большое за Ваши труды.

+2
Loadырь Loadырь 7 месяцев назад #

Вот тут prefitchi.ru/hotels 170к записей легко справляются с вашей «особенностью» движка. При этом второй из самых дешовых хостинг на бегете и без поддержки их специалистов.

0
Fuze Fuze 7 месяцев назад #

Размер базы не превышает 200MB.

На этом сайте вся база 1Гб. 300К личных сообщений, 300К постов на форуме, 75К комментариев. Я к тому, что размер базы в вашем случае мизерный. Более того, любой специалист, кто мало мальски соображает, учитывая что у вас мощный и дорогой сервер, затюнит MySQL и/или добавит недостающие индексы. Да эту базу можно вообще всю в память выкинуть, я не могу знать что у вас тормозит и почему. По кол-ву записей в ТК: у меня есть проект с 520К записей и всё работает быстро. Описанное вами точно не «особенность движка».

0
Loadырь Loadырь 7 месяцев назад #

Хотя всё таки предположу, что если поставить некоторые сторонние дополнения авторы, которых их забросили и которые в списках к каждой записи генерируют по три запроса к базе данных, которые дублируются в каждой записи их этого списка, то да, база устанет их обрабатывать.

Выглядит это как-то так

Изображение

из них 117 генерирует одно поле в 39 записях списка.

0
Alex Burr Alex Burr 7 месяцев назад #

Подскажите! Проблема после обновления. Не загружаются файлыИзображение

0
Alex Burr Alex Burr 4 месяца назад #

Проблема так и не решилась?

0
Fuze Fuze 4 месяца назад #

Начиная с этой версии тип файла определяется по его сигнатуре. Также убедитесь, что в файле system/config/mimetypes.php есть нужные тип и расширение.

0
boom boom 1 месяц назад #

docx перестал грузиться

0
DeusSpa DeusSpa 7 месяцев назад #

Хорошее обновление,

Раз песня зашла про типограф и обработку полей типографом.

Есть ли возможность при установке галки «Обрабатывать типографом» вывести поле или значения, список… какие значения обрабатывать?

То есть отображаем, что сейчас разрешено например: <iframe </iframe>  и  дописываем чего нет — для специфичных проектов. Элементарно нет по умолчанию вставки видео с инстаграма например.

Получается надо нырять в файл и проставлять (прописывать разрешения (расширения там)).

+2
Zau4man Zau4man 7 месяцев назад #

Про улучшение работы типографа разговоры ведутся давно github.com/instantsoft/icms2/issues/923

Видимо, надо делать свой компонент. Но пока по коду непонятно, как и свои теги отловить, и типографу не помешать.

Без типографа текст автоматически становится небезопасным, и оставлять поле без типографа можно только в том случае, когда в него пишут только доверенные лица.

0
F_a_R_i_D F_a_R_i_D 7 месяцев назад #

Здравствуйте.

Текст вопроса:


Имеется фрагмент кода:

  1. $url = 'https://img.milli.az/2023/09/19/1144203.png';
  2. $uploader = $this->cms_uploader;
  3. $result = $uploader->enableRemoteUpload()->upload($url);
  4. dump(array('url' => $url, 'result' => $result));

На 2.16.0 все работает. На 2.16.1 имеем вот такой результат:

  1. (
  2. [url] => https://img.milli.az/2023/09/19/1144203.png
  3. [result] => Array
  4. (
  5. [error] => Файл имеет неподходящий формат. Допустимые типы файлов:
  6. [success] =>
  7. [name] => 1144203september.png
  8. )
  9.  
  10. )


Откуда растут ноги?

+1
Fuze Fuze 7 месяцев назад #
  1. $this->cms_uploader->setAllowedMime(['image/png']);
0
F_a_R_i_D F_a_R_i_D 7 месяцев назад #

Благодарю за ответ.

А что делать если я заранее не знаю тип файла? Я ошибаюсь или в файле system/core/uploadfile.php строки


        // Пускаем любые, если не указано
        if ($this->allowed_mime === null) {
            return true;
        }


должны работать, но не работают?

0
Loadырь Loadырь 7 месяцев назад #

А что делать если я заранее не знаю тип файла? 

Здесь вы указываете какие типы файлов пользователю разрешено будет загружать, а не те какие он хочет загружать.

+2
RSN RSN 7 месяцев назад #

Донат отправлен. Fuze, спасибо за то что не забываете развивать систему.

Как оказалось, этот сервис сам мотивирует своих пользователей (деньгами и внутренним рейтингом) искать уязвимости в open source продуктах. Мы, разумеется, не против.

Хорошая новость, мы тоже «за»)) Обновление прошло без проблем.

0
Fuze Fuze 7 месяцев назад #

Спасибо!

0
AtlantisWeb AtlantisWeb 7 месяцев назад #

Tinymce загрузка файлов не работает в опере(Версия:95.0.4635.84 Версия Chromium:109.0.5414.120), в консоли выдает ошибку:

  1. Uncaught SyntaxError: Unexpected end of JSON input
  2. at JSON.parse (<anonymous>)
  3. at HTMLIFrameElement.<anonymous> (plugin.min.js:1:1156)
  4. at HTMLIFrameElement.dispatch (jquery.js?1679324112:3:12444)
  5. at r.handle (jquery.js?1679324112:3:9173)
  6.  

В гуглхроме, таже ошибка в консоли, но при этом появляется окно загрузки файла и сам файл загружается.

0
Fuze Fuze 6 месяцев назад #

Без каких-либо подробностей, скриншотов (например ответа от url загрузки файла в консоли браузер) и другой вспомогательной информации мне сложно что-то сказать.

+1
AtlantisWeb AtlantisWeb 6 месяцев назад #

Установил инстант 2.16.1, в найстройках редактора по умолчанию(Tinymce) включил плагин «icmsinsertfile» выставил нужные расширения файлов для требуемых групп.

Браузер опера, винда 10х64

в демоновости, выбираем создать ссылку и кликаем по иконке загрузки файла Изображение
после выбора нужного файла он не загружается и в консоли выдает ошибку 
  1. VM235:1 Uncaught SyntaxError: Unexpected token ':', ":root [hre"... is not valid JSON
  2. at JSON.parse (<anonymous>)
  3. at HTMLIFrameElement.<anonymous> (plugin.min.js:1:1156)
  4. at HTMLIFrameElement.dispatch (jquery.js?1696331247:2:40035)
  5. at v.handle (jquery.js?1696331247:2:38006)

Браузер хром, винда 10х64

в демоновости, выбираем создать ссылку и кликаем по иконке загрузки файла

Изображение

далее видим, в консоли браузера ошибку

  1. Uncaught SyntaxError: Unexpected end of JSON input
  2. at JSON.parse (<anonymous>)
  3. at HTMLIFrameElement.<anonymous> (plugin.min.js:1:1156)
  4. at HTMLIFrameElement.dispatch (jquery.js?1696331247:2:40035)
  5. at v.handle (jquery.js?1696331247:2:38006)

и окно ошибки редактора «Upload error»

Изображение

при этом файл можно выбрать, он загрузится и ссылка на него работает.

+2
Fuze Fuze 6 месяцев назад #

Теперь понятно. Исправим. Плагин был сделан наспех, в нём есть и другие ошибки.

0
Region67 Region67 6 месяцев назад #

Столкнулся с такой проблемой:

Создаю поле местоположение  страна — country, вывожу его с фильтре.

В списке контента выбираю фильтрацию по другим полям, поле страна не трогаю, но оно автоматически попадает в фильтрацию со значением =0 (в урл country =0)

0
Region67 Region67 6 месяцев назад #

Заметил,  что данная проблема стала наблюдаться с версии 2.16.0

0
Fuze Fuze 6 месяцев назад #

Откройте файл /system/fields/city.php и строку

  1. ['0' => '']

Заменить на

  1. ['' => '']
0
Region67 Region67 6 месяцев назад #

Отредактировал строки, автоматически страну в фильтр не добавляет. Но теперь, если выбрать только страну, то добавляет регион со значением = 0 и записи соответственно не находит 

0
Fuze Fuze 6 месяцев назад #

Здесь также замените '0' на ''

0
Region67 Region67 6 месяцев назад #

Спасибо огромное!!!👍

0
MixanM MixanM 6 месяцев назад #

Есть досадный баг — если установить чистый InstantCMS, и сразу накатить обновление — то потом не не импортирует схему(*.yaml)  в виджетах  и выдает ошибку: «неверный формат файла» 

+1
Nikolay Nikolay 6 месяцев назад #

Этот вопрос не давно обсуждали на форуме, есть решение от Zau4man.

0
MixanM MixanM 6 месяцев назад #

Спасибо

0
ALASTAR ALASTAR 6 месяцев назад #

Скажите после установки какие должны быть права на папки и файлы? Меня интересует права 777 на папки и файлы 666, где они должны быть установлены

0
Fuze Fuze 6 месяцев назад #
0
ALASTAR ALASTAR 6 месяцев назад #

Там на время установки.  А после?

+1
Fuze Fuze 6 месяцев назад #

Прочитайте внимательно. Ответ на ваш вопрос в инструкции по установке по ссылке выше.

На время установки движка так же должна быть доступна для записи (права 777) директория /system/config/

Это единственное предложении во всей инструкции про права на время установки.

0
ALASTAR ALASTAR 6 месяцев назад #

С этим понятно.  А после установки cache и upload должны стоять 777? И ещё на счёт этого файла theme_modern.yml если 666 на него не установлен то изменения в теме не возможно произвести 

0
Scythian Scythian 6 месяцев назад #

На время установки права на файлы и папки, должны быть 777. Потом меняете папки на 755, файлы на 644. Папки — кэш и загрузки оставляете 777, только в них файлы Хтаццес поменяйте на 644.

Def Def 6 месяцев назад #
Комментарий удален
Def Def 6 месяцев назад #
Комментарий удален
0
Quzar Quzar 6 месяцев назад #

Здравствуйте!

Инфо не нашел.

На 2.16.1, чистая, при включенной отладке и создании поля такая ошибка, но поле создается.

Notice: Undefined index: title in /system/traits/controllers/actions/formFieldItem.php on line 224

Warning: Cannot modify header information — headers already sent by (output started at /system/traits/controllers/actions/formFieldItem.php:224) in /system/core/controller.php on line 1091

Подскажите, где что поправить

0
Scythian Scythian 6 месяцев назад #

Наверное, лучше вопрос на форме задайте, откройте новую тему.

0
maxisoft maxisoft 6 месяцев назад #

Поправить не получиться это нужно разработчикам сделать проверку на наличие индекса в массиве в скрипте. Это не ошибка если что, а просто предупреждение что происходит обращение к элементу массива которого нет.

0
Quzar Quzar 6 месяцев назад #

Благодарю за ответ!

сделать проверку на наличие индекса в массиве в скрипте

То есть самостоятельно сделать эту проверку не выйдет?

0
maxisoft maxisoft 6 месяцев назад #

можно и самому исправить.

0
Quzar Quzar 6 месяцев назад #

ок, как это исправить?

+1
Fuze Fuze 5 месяцев назад #

Замените в этом файле

  1. cmsUser::addSessionMessage(sprintf(LANG_CP_FIELD_CREATED, $field['title']), 'success');

на

  1. cmsUser::addSessionMessage(sprintf(LANG_CP_FIELD_CREATED, $_field['title']), 'success');
0
Quzar Quzar 5 месяцев назад #

Благодарю!

0
decoy decoy 5 месяцев назад #

Пытаюсь запустить задачи системной очереди через планировщик

Изображение

Notice: Undefined offset: 6258 in /home/d/decoy/sr52.info/public_html/system/core/queue.php on line 122 Notice: Trying to access array offset on value of type null in /home/d/decoy/sr52.info/public_html/system/core/queue.php on line 180 Warning: Cannot modify header information — headers already sent by (output started at /home/d/decoy/sr52.info/public_html/system/core/queue.php:122) in /home/d/decoy/sr52.info/public_html/system/core/controller.php on line 1091

или такое

Изображение

0
AtlantisWeb AtlantisWeb 5 месяцев назад #

Не знаю с какой версии пошло но заметил на этой.

Раньше(например на 2,14,1) «session_id()» была един как для авторизованного пользователя так и для гостя. И привязавшись к нему можно было например гостю сделать добавление товаров в корзину и после авторизации подгружать их же т.к. сессия была едина, а сейчас при авторизации и разлогивании «session_id()» принудительно обновляется каждый раз и данная фишка уже не прокатит. 

В сессиях нашел «csrf_token» он вроде как не реагирует на действия авторизации и думаю править свой код под него вместо «session_id()». Планируется ли в последующих релизах что то делать с параметром сессии «csrf_token» и лучше переписать код под куки вместо сессий?

+1
Loadырь Loadырь 5 месяцев назад #

Это точно случилось на 2.16.0/1 и связано с безопасностью сайта.

csrf_token предназначен для проверки «гуляющих» на сайте данных. Его для сбора товаров в корзине однозначно нельзя использовать. Разве что проверять, что корзина принадлежит вашему сайту. Поэтому для таких случаев лучше использовать свою куку или свои данные в сессии, если есть ограничения по времени работы с корзиной.

0
Kuper Kuper 4 месяца назад #

Warning: Use of undefined constant LANG_PARSER_IMAGE_ALLOW_IMAGE_CROPPER — assumed 'LANG_PARSER_IMAGE_ALLOW_IMAGE_CROPPER' (this will throw an Error in a future version of PHP) in .ru/public_html/system/fields/image.php on line 59

Warning: Use of undefined constant LANG_PARSER_IMAGE_IMAGE_CROPPER_ROUNDED — assumed 'LANG_PARSER_IMAGE_IMAGE_CROPPER_ROUNDED' (this will throw an Error in a future version of PHP) in ru/public_html/system/fields/image.php on line 62

Warning: Use of undefined constant LANG_PARSER_IMAGE_IMAGE_CROPPER_RATIO — assumed 'LANG_PARSER_IMAGE_IMAGE_CROPPER_RATIO' (this will throw an Error in a future version of PHP) in .ru/public_html/system/fields/image.php on line 66

Warning: Use of undefined constant LANG_PARSER_IMAGE_IMAGE_CROPPER_RATIO_HINT — assumed 'LANG_PARSER_IMAGE_IMAGE_CROPPER_RATIO_HINT' (this will throw an Error in a future version of PHP) in ru/public_html/system/fields/image.php on line 67

+1
Zau4man Zau4man 4 месяца назад #

Обновление прошло некрорректно. Константы объявлены в файле /system/languages/ru/language.php github.com/instantsoft/icms2/blob/1d9205baa9e944c5a614b57263f53c071ddea1ab/system/languages/ru/language.php#L209

который загружается при любом обращении к сайту

Судя по ошибке, у вас файл не обновлен.

0
Kuper Kuper 4 месяца назад #

Вопрос или предложение, не знаю, 

Странная система приватности на сайте

Нельзя настроить доступ для контента только для зареганых

Категории так же либо друзья либо все, какие нафиг у админа друзья если это не касается каких то личных материалов

Настройки доступа для добавления есть, а для просмотра нет 

Настройки прав групп тож самое, Просмотр чужих приватных записей есть, а запретить просмотр группе вообще нельзя

Запрет просмотра списка так а толку в ленте жмакнул и перешел

Настройки группы для не зареганых вообще нет

В альбомах всем, друзьям или по ссылке, но для каждой отдельной картинки, а почему не для альбома? а допустим зареган/нет или конкретному юзеру?

Группы, так же или все или только группа

То есть по факту если хочешь закрыть какие то разделы сайта то это не получится

Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.