Новости Joomla

Joomla 6: Автоматические обновления ядра в Joomla

Joomla 6: Автоматические обновления ядра в Joomla

👩‍💻 Joomla 6: Автоматические обновления ядра в Joomla. В октябрьском номере официального журнала Joomla - Joomla Community Magazine вышла статья David Jardin, где рассказывается о внедрении функционала автоматического обновления ядра Joomla.❓Почему сейчас? Joomla же жила как-то 20 лет без автоматических обновлений?Это оказалась самая востребованная за последнее время от пользователей Joomla функция. Но, основная причина внедрения - проблемы безопасности. Всякий раз, когда в новой версии Joomla устраняется уязвимость, злоумышленники начинают анализировать код, чтобы выяснить, какая именно уязвимость была исправлена. И как только они это выясняют - начинается разработка автоматизированных скриптов для взлома как можно большего количества сайтов. Затем доступы к автоматически взломанным сайтам продаются в профильных чатах и ресурсах "пачками" по несколько сотен тысяч или миллионов сайтов. Ваш сайт могли взломать несколько лет назад, но воспользоваться уязвимостью могут не сразу, а тогда, когда у злоумышленников возникнет необходимость. И только после этого вы может быть узнаете об этом.Анализ патча, понимание проблемы и разработка скрипта требуют времени. И если владелец сайта не обновит его до истечения этого срока, сайт может быть взломан. А хакеры действуют быстро! Для критических, легко эксплуатируемых уязвимостей речь идёт о временном окне в 10–12 часов — и этого времени явно недостаточно, чтобы все успели обновить свои сайты.Здесь выходят на первый план автоматизированные обновления: проект Joomla теперь может активно устанавливать обновления (и, следовательно, исправления безопасности) на сайты, чтобы гарантировать, что сайты действительно обновляются вовремя.🕘 От первых идей до реализации прошло 5 лет. И здесь можно вспомнить, как в Joomla 5.1 внедрили TUF - The Update Framework, позволяющий устанавливать защищённое соединение между сайтом и сервером обновлений и исключает возможность supply chain attack (атаки на цепочку поставок).Об особенностях реализации и требованиях к сайту читаем подробнее в статье на JCM.@joomlafeed#joomla #secutiry #jcm

Первый выпуск журнала NorrNext в честь 20-й годовщины Joomla™

Первый выпуск журнала NorrNext в честь 20-й годовщины Joomla™

Первый выпуск журнала NorrNext в честь 20-й годовщины Joomla™. Интервью с волонтёрами 🎈Ну что, друзья, вот и настал этот долгожданный момент. Мы выпустили первое издание собственного журнала под эгидой NorrNext, который включает в себя интервью с видными деятелями сообщества из разных стран и континентов.Общий нарратив: показать, что нас объединяет (Joomla) и узнать больше о людях, которые вносят свой вклад в развитие платформы в своих сообществах. 20 лет — это много. Давайте же узнаем о коллегах 🎁 Первый цикл включает такие страны, как Австрия, Испания, Латвия, Россия, Румыния, Тайланд, Черногория, Чехия.⚙️ С кем интервью: ✔️ Владимир Елисеев 🇷🇺✔️ Дмитрий Рекун 🇱🇻✔️ Дмитрий Цымбал 🇷🇺✔️ Евгений Сивоконь 🇷🇺 ✔️ Сергей Толкачёв 🇷🇺✔️ Dénes Székely 🇷🇴✔️ Jan Pavelka 🇨🇿✔️ Miljan Vujosevic 🇲🇪✔️ Sergio Iglesias 🇪🇸✔️ Sigrid Gramlinger 🇦🇹✔️ Pisan Chueatchatchai 🇹🇭‼️ Новые интервью будут добавляться до конца декабря 2025. Заходите по ссылке время от времени💡👉 Читать далее

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

Rainm

  • Новичок
  • 5
  • 0 / 0
Добрый день

Существует сайт с установленным компонентом JComments версии 2.1. Joomla 1.5.15. Установлен и VirtueMart 1.1.4

Комментарии добавлены для страниц с товарами-сертификатам. Пример:
http://www.kiss-n-miss.ru/home/details/59/8/%D0%94%D0%BB%D1%8F-%D0%BD%D0%B5%D0%B3%D0%BE/%D0%9F%D1%80%D1%8B%D0%B6%D0%BE%D0%BA-%D1%81-%D0%BF%D0%B0%D1%80%D0%B0%D1%88%D1%8E%D1%82%D0%BE%D0%BC-%D0%B2-%D1%82%D0%B0%D0%BD%D0%B4%D0%B5%D0%BC%D0%B5

Есть кнопка "Добавить комментарий", но при нажатии ничего не происходит, форма комментирования не появляется.

Что проверил:
1. <?php echo $this->article->event->afterDisplayContent; ?> в шаблоне прописан
2. jcomments-v2.1.js подгружается
3. FireBug при нажатии на "Добавить комментарий" возвращает 200 OK

В чем ещё может быть проблема?
« Последнее редактирование: 20.04.2010, 18:59:26 от Rainm »
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Хех, все бы так детально описывали ситуацию. Так, у меня сейчас временные проблемы с инетом и почти ничего не открывается. Проверьте в FireBug, помимо ответа 200, что возвращается обратно в браузер? Там есть закладочка с текстом ответа...
*

Rainm

  • Новичок
  • 5
  • 0 / 0
что возвращается обратно в браузер? Там есть закладочка с текстом ответа...

Код
[ { "n": "as", "t": "comments-form-link", "p": "innerHTML", "d": "<h4>Добавить комментарий<\/h4>\n<a id=\"addcomments\" href=\"#addcomments\"><\/a>\n<form id=\"comments-form\" name=\"comments-form\" action=\"javascript:void(null);\">\n<p>\n\t<input id=\"comments-form-name\" type=\"text\" name=\"name\" value=\"\" maxlength=\"20\" size=\"22\" tabindex=\"1\" \/>\n\t<label for=\"comments-form-name\">Имя (обязательное)<\/label>\n<\/p>\n<p>\n\t<input id=\"comments-form-email\" type=\"text\" name=\"email\" value=\"\" size=\"22\" tabindex=\"2\" \/>\n\t<label for=\"comments-form-email\">E-Mail<\/label>\n<\/p>\n<p>\n\t<textarea id=\"comments-form-comment\" name=\"comment\" cols=\"65\" rows=\"8\" tabindex=\"5\"><\/textarea>\n<\/p>\n<p>\n\t<img class=\"captcha\" onclick=\"jcomments.clear('captcha');\" id=\"comments-form-captcha-image\" name=\"captcha-image\" src=\"http:\/\/www.kiss-n-miss.ru\/index.php?option=com_jcomments&amp;task=captcha&amp;tmpl=component&amp;ac=62932\" width=\"120\" height=\"60\" alt=\"Защитный код\" \/><br \/>\n\t<span class=\"captcha\" onclick=\"jcomments.clear('captcha');\">Обновить<\/span><br \/>\n\t<input class=\"captcha\" id=\"comments-form-captcha\" type=\"text\" name=\"captcha-refid\" value=\"\" size=\"5\" tabindex=\"6\" \/><br \/>\n<\/p>\n<div id=\"comments-form-buttons\">\n\t<div class=\"btn\" id=\"comments-form-send\"><div><a href=\"#\" tabindex=\"7\" onclick=\"jcomments.saveComment();return false;\" title=\"Отправить (Ctrl+Enter)\">Отправить<\/a><\/div><\/div>\n\t<div class=\"btn\" id=\"comments-form-cancel\" style=\"display:none;\"><div><a href=\"#\" tabindex=\"8\" onclick=\"return false;\" title=\"Отменить\">Отменить<\/a><\/div><\/div>\n\t<div style=\"clear:both;\"><\/div>\n<\/div>\n\t<input type=\"hidden\" name=\"object_id\" value=\"59\" \/>\n\t<input type=\"hidden\" name=\"object_group\" value=\"com_virtuemart\" \/>\n<\/form>\n\n<script type=\"text\/javascript\">\nfunction JCommentsInitializeForm()\n{\n\tvar jcEditor = new JCommentsEditor('comments-form-comment', true);\n\tjcEditor.initSmiles('http:\/\/www.kiss-n-miss.ru\/components\/com_jcomments\/images\/smiles');\n\tjcEditor.addSmile(':D','laugh.gif');\n\tjcEditor.addSmile(':lol:','lol.gif');\n\tjcEditor.addSmile(':-)','smile.gif');\n\tjcEditor.addSmile(';-)','wink.gif');\n\tjcEditor.addSmile('8)','cool.gif');\n\tjcEditor.addSmile(':-|','normal.gif');\n\tjcEditor.addSmile(':-*','whistling.gif');\n\tjcEditor.addSmile(':oops:','redface.gif');\n\tjcEditor.addSmile(':sad:','sad.gif');\n\tjcEditor.addSmile(':cry:','cry.gif');\n\tjcEditor.addSmile(':o','surprised.gif');\n\tjcEditor.addSmile(':-?','confused.gif');\n\tjcEditor.addSmile(':-x','sick.gif');\n\tjcEditor.addSmile(':eek:','shocked.gif');\n\tjcEditor.addSmile(':zzz','sleeping.gif');\n\tjcEditor.addSmile(':P','tongue.gif');\n\tjcEditor.addSmile(':roll:','rolleyes.gif');\n\tjcEditor.addSmile(':sigh:','unsure.gif');\n\tjcEditor.addCounter(1000, 'Осталось:', ' символов', 'counter');\n\tjcomments.setForm(new JCommentsForm('comments-form', jcEditor));\n}\nsetTimeout(JCommentsInitializeForm, 100);\n<\/script>\n" }, { "n": "js", "d": "\nfunction JCommentsInitializeForm()\n{\n\tvar jcEditor = new JCommentsEditor('comments-form-comment', true);\n\tjcEditor.initSmiles('http:\/\/www.kiss-n-miss.ru\/components\/com_jcomments\/images\/smiles');\n\tjcEditor.addSmile(':D','laugh.gif');\n\tjcEditor.addSmile(':lol:','lol.gif');\n\tjcEditor.addSmile(':-)','smile.gif');\n\tjcEditor.addSmile(';-)','wink.gif');\n\tjcEditor.addSmile('8)','cool.gif');\n\tjcEditor.addSmile(':-|','normal.gif');\n\tjcEditor.addSmile(':-*','whistling.gif');\n\tjcEditor.addSmile(':oops:','redface.gif');\n\tjcEditor.addSmile(':sad:','sad.gif');\n\tjcEditor.addSmile(':cry:','cry.gif');\n\tjcEditor.addSmile(':o','surprised.gif');\n\tjcEditor.addSmile(':-?','confused.gif');\n\tjcEditor.addSmile(':-x','sick.gif');\n\tjcEditor.addSmile(':eek:','shocked.gif');\n\tjcEditor.addSmile(':zzz','sleeping.gif');\n\tjcEditor.addSmile(':P','tongue.gif');\n\tjcEditor.addSmile(':roll:','rolleyes.gif');\n\tjcEditor.addSmile(':sigh:','unsure.gif');\n\tjcEditor.addCounter(1000, 'Осталось:', ' символов', 'counter');\n\tjcomments.setForm(new JCommentsForm('comments-form', jcEditor));\n}\nsetTimeout(JCommentsInitializeForm, 100);\n" } ]<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol)? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-13211415-1");
pageTracker._trackPageview();

} catch(err) {}</script>
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Вот, а зачем в шаблоне комментариев код Google Analytics? Вот он с 100% вероятностью и мешает... Ну или откуда у вас вылезает вот этот код:

Код
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol)? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-13211415-1");
pageTracker._trackPageview();

} catch(err) {}</script>

Такого быть не должно...
« Последнее редактирование: 20.04.2010, 17:29:05 от smart »
*

Rainm

  • Новичок
  • 5
  • 0 / 0
О, точно. Плагин "ARTIO Google Analytics Tracking" такое делает... С выключенным проблема пропала. Попробую посмотреть что с ним такое.

Спасибо!
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Судя по всему он безусловно вываливает это в ответ сервера, не задумываясь, что бывают ситуации, когда это неуместно. Мне кажется лучше данный код вручную разместить в шаблоне сайта.
*

Rainm

  • Новичок
  • 5
  • 0 / 0
Согласен. Хотя судя по настройкам, он как-то контролирует заказы VirtueMart. Видимо из-за этого его владелец поставил (я тут как знакомый программист просто :) )

А как возможно всё-таки исправить баг этот? Вот функция плагина, где этот код вставляется.

Код
private $script1 = 
" var gaJsHost = ((\"https:\" == document.location.protocol)? \"https://ssl.\" : \"http://www.\");
document.write(unescape(\"%3Cscript src='\" + gaJsHost + \"google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E\"));";

private $script2 =
" try {
var pageTracker = _gat._getTracker(\"%s\");
pageTracker._trackPageview();%s
} catch(err) {}";

// output general code
$document = & JFactory::getDocument();
$document->_custom[] = sprintf("<script type=\"text/javascript\">");
$document->_custom[] = $this->script1;
$document->_custom[] = sprintf("</script>");
$document->_custom[] = sprintf("<script type=\"text/javascript\">");
$document->_custom[] = sprintf($this->script2, $this->uaCode, $this->vmCode);
$document->_custom[] = sprintf("</script>");

Что не вставляй перед "<script type=..." (т.е. html-код) - прилепится также к ответу. Может какой-то джумловский оператор нужен?
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Что не вставляй перед "<script type=..." (т.е. html-код) - прилепится также к ответу. Может какой-то джумловский оператор нужен?
скажу честно, разбираться в логике расширения, которое мягко говоря не корректно работает по отношению к другим желания особого не имею... да и времени тоже.
*

Rainm

  • Новичок
  • 5
  • 0 / 0
smart
Ок, спасибо что помог! Буду смотреть дальше.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться