Новости Joomla

👩‍💻 ИИ-админ для Joomla ближе, чем вы думаете: Joomla MCP.

👩‍💻 ИИ-админ для Joomla ближе, чем вы думаете: Joomla MCP.

В февральском номере Joomla Community Magazine в статье Evolving Joomla - Joomla CMS MCP Server: Opening the Door to AI-Powered Administration рассказывается о работе команды разработчиков над внедрением в ядро Joomla MCP-сервера.

Что такое MCP-сервер?
Последние годы всех захватывает бум ИИ-технологий. Появились ИИ-агенты - программы, устанавливаемые на сервер или компьютер, которые получают от вас запрос или задачу в человеческом виде и могут выполнять действия с файлами, ходить по сайтам, создавать сайты, программировать и т.д. Люди используют ИИ-агентов в самых разных ситуациях: от написания и проверки кода (даже там, где язык программирования не знаете совсем) до планирования путешествий и бронирования гостиницы.

ИИ-агенты могут использовать различные программные инструменты по протоколу Model Context Protocol (MCP). Для этого разработчик программы должен внедрить MCP в свой продукт или сервис. Так, например, ваш ИИ-агент может ходить по сайтам через браузер и собирать нужную информацию, управляя браузером через MCP-сервер. Или использовать функционал IDE PHP Storm для написания кода, сбора и отладки ошибок, использовать поиск PHP Storm по кодовой базе, а не простой текстовый поиск по файлам. MCP предоставляет набор функций для полноценного управления программным обеспечением.

В случае с Joomla, сервер MCP может предоставить администраторам следующие возможности:
- Автоматическое создание категорий, материалов и меню на основе карты сайта или PDF-файла.
- Создавайть SEO-оптимизированные заголовки и метаописания в пакетном режиме.
- Обновлять расширения на нескольких сайтах одновременно
- Создание посадочные страницы.

Важно отметить, что сервер MCP не задумывался как функция, доступная только «супер-администраторам». Цель инициативы — создать решение, которое будет простым в настройке, маломощным и доступным для широкого круга пользователей.

В процессе разработки точка входа Joomla (аналогично Site, Administrator, Api, Cli), которая будет работать с Streamable HTTP, необходимым для MCP. Аутентификация пока что предполагается на токенах, но затем планируется создание универсального OAuth-сервера для Joomla.
Фактические возможности MCP — инструменты, ресурсы и подсказки — реализованы в виде плагинов для обеспечения расширяемости. Таким образом ожидаем, что и сторонние разработчики смогут создавать MCP-плагины для внедрения поддержки своих расширений Joomla для работы с ИИ.

@joomlafeed

Вышли релизы безопасности Joomla 6.0.4 и Joomla 5.4.4

Релиз безопасности Joomla 6.0.4 и Joomla 5.4.4

Проект Joomla! рад сообщить о выходе Joomla 6.0.4 и Joomla 5.4.4. Это релизы безопасности и исправления ошибок для серий 5.x и 6.x.

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

stardel

  • Завсегдатай
  • 1943
  • 22 / 0
На нескольких сайтах Опасный сайт

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

Opera Software настоятельно не рекомендует посещать эту страницу.
 использую програмку от Flyingspook , она сканирует всякую дрянь. Что искать в коде кроме eval(base64_decode(   ?

Или вот сканер ругается на файлик components/com_mailto/controller.php где тут виряк?

<?php
/**
 * @version
	
	
$Id: controller.php 14401 2010-01-26 14:10:00Z louis $
 * @package
	
	
Joomla
 * @subpackage
	
MailTo
 * @copyright
	
Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
 * @license
	
	
GNU/GPL, see LICENSE.php
 * Joomla! is free software. This version may have been modified pursuant to the
 * GNU General Public License, and as distributed it includes or is derivative
 * of works licensed under the GNU General Public License or other free or open
 * source software licenses. See COPYRIGHT.php for copyright notices and
 * details.
 */

// Check to ensure this file is included in Joomla!
defined('_JEXEC') or die( 'Restricted access' );

jimport('joomla.application.component.controller');

define('MAILTO_TIMEOUT'20);

/**
 * @package
	
	
Joomla
 * @subpackage
	
MailTo
 */
class MailtoController extends JController
{

	
/**
	
 * Show the form so that the user can send the link to someone
	
 *
	
 * @access public
	
 * @since 1.5
	
 */
	
function 
mailto()
	
{
	
	
$session =& JFactory::getSession();
	
	
$session->set('com_mailto.formtime'time());
	
	
JRequest::setVar'view''mailto' );
	
	
$this->display();
	
}

	
/**
	
 * Send the message and display a notice
	
 *
	
 * @access public
	
 * @since 1.5
	
 */
	
function 
send()
	
{
	
	
global 
$mainframe;

	
	
// Check for request forgeries
	
	
JRequest::checkToken() or jexit'Invalid Token' );
	
	
$session =& JFactory::getSession();
	
	
$db
	
=& 
JFactory::getDBO();

	
	
// we return time() instead of 0 (as it previously was), so that the session variable has to be set in order to send the mail
	
	
$timeout $session->get('com_mailto.formtime'time());
	
	
if(
$timeout == || time() - $timeout MAILTO_TIMEOUT) {
	
	
	
JError::raiseNotice500JText:: ('EMAIL_NOT_SENT' ));
	
	
	
return 
$this->mailto();
	
	
}
	
	
// here we unset the counter right away so that you have to wait again, and you have to visit mailto() first
	
	
$session->set('com_mailto.formtime'null);

	
	
jimport'joomla.mail.helper' );

	
	
$SiteName 
	
$mainframe->getCfg('sitename');
	
	
$MailFrom 
	
$mainframe->getCfg('mailfrom');
	
	
$FromName 
	
$mainframe->getCfg('fromname');

	
	
$link 
	
	
base64_decodeJRequest::getVar'link''''post''base64' ) );

	
	
// Verify that this is a local link
	
	
if(!
JURI::isInternal($link)) {
	
	
	
//Non-local url...  
	
	
	
JError::raiseNotice500JText:: ('EMAIL_NOT_SENT' ));
	
	
	
return 
$this->mailto();
	
	
}

	
	
// An array of e-mail headers we do not want to allow as input
	
	
$headers = array (
	
'Content-Type:',
	
	
	
	
	
	
	
'MIME-Version:',
	
	
	
	
	
	
	
'Content-Transfer-Encoding:',
	
	
	
	
	
	
	
'bcc:',
	
	
	
	
	
	
	
'cc:');

	
	
// An array of the input fields to scan for injected headers
	
	
$fields = array ('mailto',
	
	
	
	
	
	
 
'sender',
	
	
	
	
	
	
 
'from',
	
	
	
	
	
	
 
'subject',
	
	
	
	
	
	
 );

	
	
/*
	
	
 * Here is the meat and potatoes of the header injection test.  We
	
	
 * iterate over the array of form input and check for header strings.
	
	
 * If we find one, send an unauthorized header and die.
	
	
 */
	
	
foreach (
$fields as $field)
	
	
{
	
	
	
foreach (
$headers as $header)
	
	
	
{
	
	
	
	
if (
strpos($_POST[$field], $header)!== false)
	
	
	
	
{
	
	
	
	
	
JError::raiseError(403'');
	
	
	
	
}
	
	
	
}
	
	
}

	
	
/*
	
	
 * Free up memory
	
	
 */
	
	
unset (
$headers$fields);

	
	
$email 
	
	
	
	
JRequest::getString('mailto''''post');
	
	
$sender 
	
	
	
JRequest::getString('sender''''post');
	
	
$from 
	
	
	
	
JRequest::getString('from''''post');
	
	
$subject_default 
	
JText::sprintf('Item sent by'$sender);
	
	
$subject 
	
	
	
JRequest::getString('subject'$subject_default'post');

	
	
// Check for a valid to address
	
	
$error
	
false;
	
	
if ( ! 
$email  || ! JMailHelper::isEmailAddress($email) )
	
	
{
	
	
	
$error
	
JText::sprintf('EMAIL_INVALID'$email);
	
	
	
JError::raiseWarning(0$error );
	
	
}

	
	
// Check for a valid from address
	
	
if ( ! 
$from || ! JMailHelper::isEmailAddress($from) )
	
	
{
	
	
	
$error
	
JText::sprintf('EMAIL_INVALID'$from);
	
	
	
JError::raiseWarning(0$error );
	
	
}

	
	
if ( 
$error )
	
	
{
	
	
	
return 
$this->mailto();
	
	
}

	
	
// Build the message to send
	
	
$msg
	
JText :: _('EMAIL_MSG');
	
	
$body
	
sprintf$msg$SiteName$sender$from$link);

	
	
// Clean the email data
	
	
$subject JMailHelper::cleanSubject($subject);
	
	
$body
	
 = 
JMailHelper::cleanBody($body);
	
	
$sender
	
 = 
JMailHelper::cleanAddress($sender);

	
	
// Send the email
	
	
if ( 
JUtility::sendMail($from$sender$email$subject$body)!== true )
	
	
{
	
	
	
JError::raiseNotice500JText:: ('EMAIL_NOT_SENT' ));
	
	
	
return 
$this->mailto();
	
	
}

	
	
JRequest::setVar'view''sent' );
	
	
$this->display();
	
}
}


« Последнее редактирование: 25.02.2013, 22:50:39 от stardel »
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
*

stardel

  • Завсегдатай
  • 1943
  • 22 / 0
Re: Несколько сайтов "Опасный сайт"
« Ответ #2 : 25.02.2013, 23:36:19 »
draff я тоже так думаю) тока я что вычистил а он опять ругается...как будто и не чистил ((  вот http://italstudio.ru/fls.php
*

wishlight

  • Гуру
  • 5078
  • 320 / 1
  • От 300 руб быстрый хостинг. Сервера.
Re: Несколько сайтов "Опасный сайт"
« Ответ #3 : 25.02.2013, 23:39:52 »
http://php.net/manual/ru/reserved.variables.post.php просто функция. Не там ищите.
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Re: Несколько сайтов "Опасный сайт"
« Ответ #4 : 26.02.2013, 00:26:33 »
draff я тоже так думаю) тока я что вычистил а он опять ругается...как будто и не чистил ((  вот http://italstudio.ru/fls.php
404.наверно уже удалил. А хостер не sweb ?
*

stardel

  • Завсегдатай
  • 1943
  • 22 / 0
Re: Несколько сайтов "Опасный сайт"
« Ответ #5 : 26.02.2013, 11:57:56 »
draff  нет  Дехост
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

При открытии сайта с режима инкогнито перекидывает на вирусный сайт

Автор 62411

Ответов: 6
Просмотров: 4478
Последний ответ 31.03.2024, 16:14:32
от SeBun
Изолирование папок сайтов на OpenServer

Автор Lemady

Ответов: 41
Просмотров: 9098
Последний ответ 29.11.2021, 15:47:31
от KoreshS
Netflix! - Клиент поймал фишинг на старый сайт. Где порылись собаки?

Автор Alex_gs

Ответов: 9
Просмотров: 2936
Последний ответ 05.11.2021, 21:47:31
от wishlight
Взломали сайт. Как в некоторых случаях делаю я

Автор cntrl

Ответов: 0
Просмотров: 1768
Последний ответ 29.08.2020, 00:25:24
от cntrl
Безопасный вход на сайт Joomla и админка

Автор jm

Ответов: 9
Просмотров: 2843
Последний ответ 19.07.2020, 23:57:17
от wishlight