Новости Joomla

Совет по Joomla: несколько значений по умолчанию в XML-формах для стандартных полей типа list

👩‍💻 Совет по Joomla: несколько значений по умолчанию в XML-формах для стандартных полей типа list.При работе над плагином возникла необходимость указать стандартный набор из нескольких элементов стандартного поля списка. И хотелось указать их в стандартном же атрибуте default для полей. Когда это нужно?Когда Ваши пользователи устанавливают плагин и НЕ заходят в настройки - в коде вы можете использовать значения по умолчанию с помощью класса Registry (писал об этом ранее) и всегда быть уверенным, что хоть какие-то жизненно необходимые параметры к вам придут всегда. 🧐 Но как сделать то же самое для интерфейса админки?Пользователя нужно направлять, предлагать очевидный работоспособный сценарий для начала, а дальше он уже сам разберется. Когда человек заходит в параметры свежеустановленного плагина в Form ещё нет данных и параметры по умолчанию выставляются из атрибутов default в xml-полях.
<field name="showdesc" type="radio"                       label="PLG_CFI_PARAM_SHOWDESC"                       class="btn-group btn-group-yesno"                       default="1">                    <option value="0">JNO</option>                    <option value="1">JYES</option>                </field>
Здесь по умолчанию будет включено "Да". И если пользователь не переключит параметр, то при сохранении мы ожидаемо получим "да" в params плагина.Для поля списков type=&quot;list&quot; можно указать значение по умолчанию и многие знают, что его можно указать только одно.
<field type="list"                       name="article_fields"                       label="article_fields"                       description="article_fields_desc"                       layout="joomla.form.field.list-fancy-select"                       multiple="true"                       default="id"                >                    <option value="id">id</option>                    <option value="title">title</option>                    <option value="alias">alias</option>                    <option value="introtext">introtext</option>                    <option value="fulltext">fulltext</option>                    <option value="state">state</option></field>
Но у нас поле с множественным выбором (атрибут multiple) и хотелось бы указать несколько значений по умолчанию...Оказывается, так можно сделать. Для этого в атрибуте default нужно указать json с нужными параметрами в виде {int}key : {string} value.Например, default='{"0":"id","1":"title"}'.
<field type="list"                       name="article_fields"                       label="article_fields"                       description="article_fields_desc"                       layout="joomla.form.field.list-fancy-select"                       multiple="true"                       default='{"0":"id","1":"title"}'                >                    <option value="id">id</option>                    <option value="title">title</option>                    <option value="alias">alias</option>                    <option value="introtext">introtext</option>                    <option value="fulltext">fulltext</option>                    <option value="state">state</option></field>
⚠️ Обратите внимание на кавычки! Поскольку json_decode не понимает одинарные кавычки собственно json нужно писать с двойными, а значение для атрибута default писать в одинарные.🙏 За подсказанное решение огромное спасибо участникам нашего сообщества - разработчикам Дмитрию Васюкову (@fictionlabs) и Игорю Бердичевскому (@septdir).@joomlafeed#joomla #разработка #webdev #development

0 Пользователей и 1 Гость просматривают эту тему.
  • 10 Ответов
  • 2084 Просмотров
*

Letsad

  • Осваиваюсь на форуме
  • 28
  • 0 / 0
Здравствуйте!

Решил на карантине заняться давно забытым старым – сайтами. Захотел совместить, так сказать, приятное (наличие свободного времени) с полезным. Реанимировал учётку на хостинге.  Там висело  несколько уже неактуальных сайтов и их бэкапы. Устанавливаю Joomla, чистый шаблон  (покупал  подписку Vtem), устанавливаю расширения из каталога – сначала по безопасности, рекомендованные здесь же в соседней теме,  потом остальные нужные. Проверяю встроенным в хостинг  Ай-болитом и на сайте antivirus-alarm. И вижу кучу вирусов. Делаю копию сайта, разворачиваю из сохранённого «чистого» архива (когда перед архивацией сканеры никакую гадость не показывали). Они тут же в развернутой копии находят много всего интересного. В то же время сканер virustotal совершенно чистый.

Так провозился неделю. Вирусы сканеры показывали не сразу, а после 2-5 установленных расширений. Сносил всё, расширения устанавливал в разном порядке, вирусы показывались после разных расширений, а не после какого-то  определенного.  Если удалить расширение, после которого появляются вирусы, в  antivirus-alarm их число уменьшается, но через несколько минут опять увеличивается.  Этот сайт antivirus-alarm конечно неоднозначный, но чтобы мониторил в таком массовом количестве (половина и больше баз красная)– вижу в первый раз. Так поэкспериментировал неделю.

Переписка с хостером особых результатов не дала. Кроме того, что у них нет специалиста по кибербезопасности, но есть изоляция сайтов,  даже если один сайт окажется заражен это не скажется на других.
Решил удалить  все свои старые сайты, архивы и базы. Т.е. оставил чистый от старых сайтов аккаунт, только с несколькими служебными, рекомендованными хостером каталогами. Установил чистую Joomla – уже автоматом средствами хостинга. Проверяю, опять какие-то трояны и прочая гадость

Проверяю Ай-Болитом – в нормальном режиме чисто, в параноидальном : Вредоносных скриптов 6, JS Вирусов 3. Результат, если надо, могу выставить. И это на чистой новой Joomla установленной на пустой аккаунт.

С другой стороны, virustotal не находит ничего. Вот и вопрос – может это действительно паранойя, забить и жить спокойно. Но никогда раньше ни Ай-болит, ни antivirus-alarm не реагировали на чистую новую CMS.  Или нужно хостера сменить, может ещё что-то предпринять?
*

SeBun

  • BanMaster
  • 4030
  • 259 / 5
  • @SeBun48
Так параноидальный режим не зря так называется - он выдает много ложных срабатываний, например, агрится на все вхождения base64, но этот код не всегда является вредоносным. Тут нужно руками исследовать все те позиции, которые айболит находит. А с хостером переписываться на этот счет бессмысленно - они продают вам аренду, а не следят за сайтами. Что бы была ответственность за сайты, покупайте техподдержку. Но это совсем другой ценник. У меня она от 500 руб. в мес. стоит.

P/S Уже то, что сайты изолированы друг от друга, хорошо. Но лучше не верить на слово а проверить. Напишите скрипт, который должен получить содержимое директории на уровень выше корневой. Если получите - значит нет никакой защиты. Да и Virustotal немного для других задач предназначен.
« Последнее редактирование: 20.04.2020, 14:35:55 от SeBun »
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

Letsad

  • Осваиваюсь на форуме
  • 28
  • 0 / 0
SeBun, Спасибо! Если Virustotal не подходит, можете подсказать сервис для таких задач? На счет написать скритп, для меня это пока далеко, нет таких знаний. 
*

wishlight

  • Гуру
  • 5062
  • 315 / 1
  • От 300 руб быстрый хостинг. Сервера.
Не все коды однозначно вредоносны. Надо знать, что они выполняют.
*

Letsad

  • Осваиваюсь на форуме
  • 28
  • 0 / 0
Чтобы было понятно, ссылка на результат проверки ----- (уже всё поменял)

Это тестовая чистая свежеустановленная Joomla без сторонних расширений и шаблонов.
Для примера, прокатываю на этом сканере чужие сайты с этого форума. В основном чисто.   
« Последнее редактирование: 20.04.2020, 20:05:49 от Letsad »
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Чтобы было понятно, ссылка на результат проверки http://antivirus-alarm.ru/proverka/?url=letsad.beget.tech

Это тестовая чистая свежеустановленная Joomla без сторонних расширений и шаблонов.
Для примера, прокатываю на этом сканере чужие сайты с этого форума. В основном чисто.   
Если установка чистая и ничего вредоносного не ставили, то все эти скрпты чисты как слеза.
Ну а чисто потому, что эти скрипты почти не используются.

jquery и иже с ним jquery-noconflict jquery-migrate - не счадно выпиливаются.
bootstrap template и прочие, тянет дефолтный шаблон.

А вот что там у вас забыл keepalive который нужен чтобы, поддерживать сесию когда посетитель находится на странице с формой вопрос.
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

Letsad

  • Осваиваюсь на форуме
  • 28
  • 0 / 0
Цитировать
А вот что там у вас забыл keepalive который нужен чтобы, поддерживать сесию когда посетитель находится на странице с формой вопрос.

 Так это всё в пакете Joomla_3.9.16-Stable-Full_Package сидит. Развернул как есть.
*

wishlight

  • Гуру
  • 5062
  • 315 / 1
  • От 300 руб быстрый хостинг. Сервера.
А откуда вы качали эту Joomla?
*

Letsad

  • Осваиваюсь на форуме
  • 28
  • 0 / 0
https://downloads.joomla.org/ru/

Развернул на другом хостинге. Там автоматическое развертывание CMS - результат тот же http://antivirus-alarm.ru/proverka/?url=a0430429.xsph.ru%2F
« Последнее редактирование: 20.04.2020, 18:38:14 от Letsad »
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
https://downloads.joomla.org/ru/
Ну значит все норм.
Сканеры сканером рознь. Тут код читать уметь надо.

К примеру многие, да большинство в чувствительных режимах покажут вам все base64. Это не значит что там вирус. Ибо к примеру так же Joomla кодирует ссылки в base64 для возврата после авторизации.
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

Letsad

  • Осваиваюсь на форуме
  • 28
  • 0 / 0
Развернул прошлую 3.9.15 версию Joomla. Всё чисто и красиво http://antivirus-alarm.ru/proverka/?url=letsad.bget.ru
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как выявить вредоностный код на CMS Joomla?

Автор stud_pro

Ответов: 1
Просмотров: 2390
Последний ответ 23.04.2024, 10:06:10
от wishlight
Скрипт для поиска вирусов и вредоносных скриптов на сайте "AI-Bolit"

Автор revisium

Ответов: 110
Просмотров: 70370
Последний ответ 30.08.2023, 12:53:33
от SeBun
Вирус редирект или взлом с редиректом Joomla 3.10

Автор Wany205

Ответов: 1
Просмотров: 3267
Последний ответ 25.05.2023, 08:49:57
от Театрал
Скрипты защиты Joomla 4

Автор mister_boy

Ответов: 6
Просмотров: 3268
Последний ответ 16.05.2023, 16:38:58
от mister_boy
Поставил Joomla 4. Хостинг nic.ru стал ругаться на ошибки безопасности

Автор Oleg+

Ответов: 5
Просмотров: 2485
Последний ответ 13.09.2021, 09:23:28
от Oleg+