Новости 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 Гость просматривают эту тему.
  • 23 Ответов
  • 2818 Просмотров
*

buto

  • Давно я тут
  • 570
  • 1 / 0
Вопрос по безопасности JS
« : 05.04.2013, 17:00:46 »
Добрый день обожаю этот форум=). Решил позаботится о проблемах безопасности связанной с компонентом JS 3.12 (j2.5.8). Предварительно прочел все вообщем о безопасности Joomla, даже создал тему http://joomlaforum.ru/index.php/topic,259383.msg1304682.html#msg1304682 .Тема оказалась очень даже востребованной.Так вот вопрос теперь о дырах JS3.12. Как его обезопасить. Есть ли дыры наверняка они могут быть в images.Стоит ли туда закидывать .htaccess с кодом
Код
<Files ~ ".(php)$">
Deny from all
</Files>
Права на папки везде 755.
Тут вопрос скорее к разработчикам, долго рылся в поисках подобной темы в разделе настройки js, ничего не нашел. Встречал  что-то вроде бы в карте развития JS. Но конкретного вопроса не видел(не жуели JS) бездыр. Неплохо бы еще чтобы сюда выкидывали опыт взломов.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вопрос по безопасности JS
« Ответ #1 : 05.04.2013, 18:28:40 »
скажите, а вы понимаете все то, о чем говорят в созданной вами теме? если да, то вы планируете отдать бесконтрольную загрузку чего попало клиентам магазина? или как вы себе представляете взлом магазина?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

buto

  • Давно я тут
  • 570
  • 1 / 0
Re: Вопрос по безопасности JS
« Ответ #2 : 07.04.2013, 11:56:43 »
скажите, а вы понимаете все то, о чем говорят в созданной вами теме? если да, то вы планируете отдать бесконтрольную загрузку чего попало клиентам магазина? или как вы себе представляете взлом магазина?
1.как я себе представляю взлом сайта Joomla по дефолту : загрузка PHP Shell (либо др скриптов) через менеджер файлов в папки  tmp/ images/ cache/  (могут быть также файлы изначально иметь форматы gif,png и т.д.). Далее скрипты начинают активность, и тут уж действия идут по пути в зависимости от целей злоумышленника.Как бороться с этим, не загружать хз какие изображения, обновлять компоненты и Joomla, установить права доступа 755, вставить htaccess в каталоги кэш, имаджес и прочее c кодом препятствующему запуску скриптов типо
Код
php_flag engine  off
RemoveHandler .phtml .php .php3 .php4 .php5 .php6 .phps .cgi .exe .pl .asp .aspx .shtml .shtm .fcgi .fpl .jsp .htm .html .wml
AddType application/x-httpd-php-source .phtml .php .php3 .php4 .php5 .php6 .phps .cgi .exe .pl .asp .aspx .shtml .shtm .fcgi .fpl .jsp .htm .html .wml
2. Понимаю в большинстве о чем идет в той ветке(ссылка выше), т.к. там все доступно объяснено в посте
может и такого хватить, обычно хватает

Код
<Files ~ ".(php)$">
Deny from all
</Files>

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

фаил .htaccess могут перелазить и тогда все старания на смарку

права на файл .htaccess или директива в httpd.conf
Спойлер
[свернуть]

вот некоторое разъяснение основного

Спойлер
[свернуть]
там по другому надо
3. Каким образом я позволю я позволю бесконтрольную загрузку клиентам магазина? Ведь
Код
<Files ~ ".(php)$">
Deny from all
</Files>
Запрет на все файлы в каталоге:

deny from all - Запрет на все файлы в каталоге: http://www.internet-technologies.ru/articles/article_1381.html
Возможно я не достаточно понимаю, пожалуйста поясните, что не так.
Вопрос был непосредственно к компоненту JS, про его уязвимости и возможные варианты защиты от шела и т.д.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вопрос по безопасности JS
« Ответ #3 : 07.04.2013, 16:02:35 »
вы видимо не поняли сути моего вопроса.
Цитировать
загрузка PHP Shell (либо др скриптов) через менеджер файлов
каким образом юзеры могут это сделать? вы планируете в магазине разрешить клиентам загрузку каких угодно файлов?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

buto

  • Давно я тут
  • 570
  • 1 / 0
Re: Вопрос по безопасности JS
« Ответ #4 : 07.04.2013, 16:18:27 »
вы видимо не поняли сути моего вопроса.каким образом юзеры могут это сделать? вы планируете в магазине разрешить клиентам загрузку каких угодно файлов?
Да я действительно не понял вопрос) Ответ-нет.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вопрос по безопасности JS
« Ответ #5 : 07.04.2013, 18:58:25 »
Ответ-нет.

логично :) ну а на нет и суда нет :) вопрос с безопасностью снят?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

buto

  • Давно я тут
  • 570
  • 1 / 0
Re: Вопрос по безопасности JS
« Ответ #6 : 07.04.2013, 19:20:31 »

логично :) ну а на нет и суда нет :) вопрос с безопасностью снят?
Никак нет, еще все таки остался вопрос)
Дыры у компонента JS 3.12 , если есть, то какие, и как их решить.
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Вопрос по безопасности JS
« Ответ #7 : 07.04.2013, 20:09:53 »
пока не нашли...
вернее не искали...
ЖШ самое уязвимое место у вас на сайте Вы предполагаете? :)
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
Re: Вопрос по безопасности JS
« Ответ #8 : 07.04.2013, 20:28:39 »
элементарное, за что так понимаю снимали с JED, - отсутствие заглушек в директориях и запрета прямого доступа к php файлам в самом компоненте и во всех прилагаемых к нему расширениях.
на что  victorantoniak ответил в одной из тем в духе - настраивайте ваш сервер :)

« Последнее редактирование: 07.04.2013, 21:00:00 от ELLE »
*

buto

  • Давно я тут
  • 570
  • 1 / 0
Re: Вопрос по безопасности JS
« Ответ #9 : 07.04.2013, 21:09:32 »
2 nevigen-думаю что нет, но спрашиваю для перестраховки. Время покажет)Тьфу Тьфу Тьфу)
2 ELLE -вот это я сообщение где-то прочел, из-за него собственно и создал тему)Просто не мог найти.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вопрос по безопасности JS
« Ответ #10 : 07.04.2013, 21:12:58 »
отсутствие заглушек в директориях и запрета прямого доступа к php файлам
ну на самом деле само по себе это не является дырами. и откровенно говоря я тоже считаю, что нет ничего хорошего в том, чтобы создавать миллион пустышек, вместо того чтобы запретить это одной строкой в .htaccess. просто это правила джеда, и как бы хороший тон в Joomla, у которой по умолчанию почему то открыт доступ к просмотру каталогов. но это, скажем так, вовсе не обязательно с точки зрения безопасности.

Никак нет, еще все таки остался вопрос)
вы видимо опять меня не поняли. как вы думаете, если б кто нибудь, в частности разработчики, знали бы про явные дыры, они бы до сих пор не были закрыты? а то, о чем вы говорите, никак не относится к ЖШ. в ЖШ нет пользовательской загрузки. соответственно неоткуда появится зараженным файлам.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

buto

  • Давно я тут
  • 570
  • 1 / 0
Re: Вопрос по безопасности JS
« Ответ #11 : 07.04.2013, 21:59:08 »
Теперь тему можно закрывать)Спасибо за ответ
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: Вопрос по безопасности JS
« Ответ #12 : 07.04.2013, 22:42:45 »
Цитировать
ну на самом деле само по себе это не является дырами
Это не дыры это возможности листинга вашего каталога. Позволяет злоумышленнику показать все содержимое вашего каталога.   ;D
Цитировать
вместо того чтобы запретить это одной строкой в .htaccess
Извините, вы либо придерживайтесь к правилам написания компонентов, модулей или плагинов, или говорите (ничего).  Joomla это не только apache. Пишите инструкцию, при установке компонента надо произвести определенные действия.

P. S. я не занимаюсь анализом вашего компонента. Пишу только, то что встречается в процессе доработки.
/administrator/components/com_jshopping/importexport/eanimportutf8/form.php Это не доступ, не ключ для взлома. Вы считаете это нормальным кодом?
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Вопрос по безопасности JS
« Ответ #13 : 07.04.2013, 23:12:44 »
простое отсутствие
Код
<?php
defined( '_JEXEC' ) or die( 'Restricted access' );
?>
но это не жш и не наш импорт ;)
кесарю, кесарево -бесплатному, бесплатное ;)

П.С. кстати вааще забавно откуда оно там.. давно все удалял :)
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

capricorn

  • Завсегдатай
  • 1949
  • 118 / 3
Re: Вопрос по безопасности JS
« Ответ #14 : 07.04.2013, 23:26:35 »
Сложно взломать сайт через загрузку изображения, которое не очищается от php кода? .htaccess игрушки в этом сильно помогают?

Обычно доморощенные php-писатели сайтов пытаются запретить выполнение php c помощью .htaccess. Насколько это реально?
« Последнее редактирование: 07.04.2013, 23:30:27 от capricorn »
*

dstavropolskij

  • Захожу иногда
  • 106
  • 10 / 0
Re: Вопрос по безопасности JS
« Ответ #15 : 07.04.2013, 23:32:02 »
Сложно взломать сайт через загрузку изображения, которое не очищается от php кода? .htaccess игрушки в этом сильно помогают?

Обычно доморощенные php-писатели сайтов пытаются запретить выполнение php c помощью .htaccess. Насколько это реально?


А что мешает запретить php с помощью .htaccess? Или вы если имете ввиду, что php разрешил кто-то исполнять прямо из jpg... Ну тут уже сам себе гладиолус видимо. Может быть чего-то не понимаю или не знаю, интересно было бы уточнить.
*

capricorn

  • Завсегдатай
  • 1949
  • 118 / 3
Re: Вопрос по безопасности JS
« Ответ #16 : 07.04.2013, 23:41:45 »
Цитировать
А что мешает запретить php с помощью .htaccess? Или вы если имете ввиду, что php разрешил кто-то исполнять прямо из jpg... Ну тут уже сам себе гладиолус видимо. Может быть чего-то не понимаю или не знаю, интересно было бы уточнить.

Ничего не мешает. Мне просто интересно знать, достаточно ли это с точки зрения безопасности, если будет загружен на сайт графический файл с php кодом внутри.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вопрос по безопасности JS
« Ответ #17 : 08.04.2013, 00:12:56 »
Fedor Vlasenko, я часто вижу, что у вас ко всему, что касается ЖШ, предвзятое отношение :) абсолютно нет желания спорить на тему что лучше. этот компонент такой же мой, как и ваш. я не являюсь его разработчиком.

Код
Извините, вы либо придерживайтесь к правилам написания компонентов, модулей или плагинов, или говорите (ничего)

я и придерживаюсь. джед обязывает :) я просто высказал мнение, что требования у Joomla относительно наличия целой кучи пустышек - это перебор.

Код
/administrator/components/com_jshopping/importexport/eanimportutf8/form.php Это не доступ, не ключ для взлома. Вы считаете это нормальным кодом?

нет, не считаю. однако, я ни слова не сказал в своем предыдущем посте о том, что отсутствие defined( '_JEXEC' ) or die; это правильно. конечно это Неправильно. и конечно это возможная дыра безопасности. и конечно на это стоит обратить внимание разработчикам. просто в данном случае это всего лишь форма ни о чем, ибо обработчик (контроллер) содержит все необходимое для безопасности. а так строго говоря в принципе зачем мне как взломщику доступ к форме, если я и без нее могу передать в контроллер все что мне нужно? но конечно, согласен на 100%, это Неправильно. и это показывает общее отношение.

Код
P. S. я не занимаюсь анализом вашего компонента. Пишу только, то что встречается в процессе доработки.

я тоже не занимался. видимо придется... это все, что пока встретилось? или есть еще что-то?

Код
Сложно взломать сайт через загрузку изображения, которое не очищается от php кода?
Код
Или вы если имете ввиду, что php разрешил кто-то исполнять прямо из jpg

именно об этом и шла речь изначально. но! повторюсь очередной раз: в ЖШ отсутствует (по крайней мере в базе, вообще есть аддоны, но сейчас не о них) функционал, в котором возможна загрузка изображений с фронта. акцентирую внимание, именно с фронта. поскольку для загрузки с админки по крайней мере нужен доступ администратора. потому что иначе Joomla не пропустит выполнение контроллера (а в контроллерах, как я уже сказал выше, с defined( '_JEXEC' ) or die; все в порядке). соответственно, в разрезе ЖШ проблемы взлома путем запуска кода из файла изображения нет как таковой.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

capricorn

  • Завсегдатай
  • 1949
  • 118 / 3
Re: Вопрос по безопасности JS
« Ответ #18 : 08.04.2013, 00:14:05 »
К чему вообще вся эта истерия об опасности Joomla? Нет никакой опасности.

Кто-то взломал последнюю версию Joomla и последние версии ее популярных компонентов? Факты в студию.

Поверьте мне, гораздо легче снести доморощенный сайт, если есть желание этим заниматься.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вопрос по безопасности JS
« Ответ #19 : 08.04.2013, 00:19:18 »
Кто-то взломал последнюю версию Joomla и последние версии ее популярных компонентов? Факты в студию.

ну на самом деле это потому, что разработчики при создании компонентов используют рекомендации относительно безопасности. :) если ими пренебрегать - взлом очень реален.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

capricorn

  • Завсегдатай
  • 1949
  • 118 / 3
Re: Вопрос по безопасности JS
« Ответ #20 : 08.04.2013, 00:29:44 »
Цитировать
ну на самом деле это потому, что разработчики при создании компонентов используют рекомендации относительно безопасности. Azn если ими пренебрегать - взлом очень реален.

Поэтому не нужно пренебрегать.

PS. Я фан Joomla, но иногда развлекаюсь с сайтами. Друзья, вы бы ужаснулись, если бы увидели, насколько уязвимы доморощенные сайты на php.

*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: Вопрос по безопасности JS
« Ответ #21 : 08.04.2013, 01:16:56 »
Цитировать
Fedor Vlasenko, я часто вижу, что у вас ко всему, что касается ЖШ, предвзятое отношение
Это не так. На самом деле считаю критику, наиболее лучшим ходом для развития компонента. А вот хвастовство, увы, ни к чему хорошему не приведет. И я выполняю доработки и по этому компоненту в том числе. То есть кусок хлеба с маслом из-за компонента перепадает  ^-^
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Вопрос по безопасности JS
« Ответ #22 : 08.04.2013, 09:59:46 »
теперь все вместе танцуем Джагу ;)

слава Богу разобрались.

Позволю подвести итог.
1. Конструктивная критика - реальный двигатель прогресса (или убийца если разработчик слаб, но накой тогда такое чудо миру ? ) ;) +Федору
2. Безопасность ЖШ не ниже чем у Ж (по крайней мере в базе). Поломать ее можно только через Ж (как бы прикольно это не звучало :) ) За поднятие вопроса + Буто
3. Требования ЖЕДа и Joomla девелоперов относительно пустышек и привентивных мер защиты даже мелкого формата, возможно излишни по сути, но как выяснилось в очередной раз подтвердилась народная мудрость "Береженного, Бог бережет". Будем ей следовать ;) + Дмитрий + Федор
4. прояснен вопрос отсутствия на данный момент вскрытых дыр ввиду отсутствия возможности загрузки чего либо с фронта (по дефолту). + Дмитрий.
5. Есть темы "ошибки компонента" или что "нужно доделать", не стесняемся.... добавляем туда все что надо... это полезно не только разработчикам ЖШ но и тем кто имеет отношение к работе с ЖШ.

Всем жму руки.
Вопрос не закрыт, потому что тема вечная.

П.С.
А вот тем кто пользует аддоны для работы вендорами или редактирования товара с фронта, атрибутов в виде загрузки файлов и т.д., стоит обратить отдельное внимание на возможность присутствия дыр (ТОЛЬКО! возможность, нет подтвержденных фактов) :)
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Re: Вопрос по безопасности JS
« Ответ #23 : 08.04.2013, 18:26:27 »
3.14.2 добавлено
defined( '_JEXEC' ) or die()
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Перенесено: Меня взломали? Или неправильные настройки безопасности?

Автор nevigen

Ответов: 0
Просмотров: 632
Последний ответ 02.10.2017, 21:21:30
от nevigen
Вопрос по аддону Extra checkbox checkout step 2

Автор kit2m2

Ответов: 5
Просмотров: 1320
Последний ответ 19.07.2017, 22:04:14
от victorantoniak
Вопрос. это нормальная тема при смене статуса заказа

Автор паша протопоп

Ответов: 4
Просмотров: 1412
Последний ответ 16.04.2016, 20:15:10
от dmitry_stas
ВОпрос по нулевой цене

Автор chereushenko

Ответов: 4
Просмотров: 1161
Последний ответ 24.02.2016, 10:02:28
от dmitry_stas
Вопрос по product.php

Автор anatolij

Ответов: 3
Просмотров: 1356
Последний ответ 19.04.2015, 12:59:27
от dmitry_stas