Сергей Шлоков

Сергей Шлоков

Был в сети 06 ноября 2025, 19:54
Заказы не принимаю
Видимо они вовсю пользуются возможностью передавать сырой SQL. Им твоя заплатка поломает сайты.
А на своих сайтах нам надо повесить предупреждение для хакеров, чтобы они не посылали чистые sql запросы, ведь нужно использовать первичные ключи. Так Джейсон сказал!!!
Немного конспирологии… А может они специально оставляют эти дырки по просьбе АНБ. :)
Предложил код автору xPDO, буду ждать ответа.
Не забывай, сейчас выходные. Да ещё Рождество и Новый год скоро… Надеюсь, хотя бы в третьей версии MODX добавят. Осталось набраться терпения. :)
Ибо неведомы автору xPDO наши переживания, чего ему ноги ломать…
Но я уже ни в чём не уверен.
Я тоже. В этом плане знаний маловато. Просто исхожу из комментария Евгения
Это проблему не решает. Есть куча точек в хода из различных компонентов, которые оставляют коннекторы в /assets/components/
Насколько я понимаю, именно для этого скрывается папка с коннекторами, а тут лежит в открытом доступе.
Очень хочется, чтобы Евгений успокоил насчет этого.
Думаю, так правильней.
Посмотрел Tickets (только он открыт). mSearch2 и Office обновил не глядя. Данный фикс немного меня успокоил. Я всегда так фильтрую данные в своих компонентах (на всякий ещё проверю все). Я про это даже
статью год назад написал. Возможно Евгений её раскритикует, но для обсуждаемого случая она актуальна.
Но этот фикс решает половину проблемы. Что делать с коннектором (connector.php)? Евгений заходит через него. Запрос в ObjectGetProcessor с кривым id и милости просим. MODX это не фильтрует.
Т.е. надо переопределять метод initialize для всех get/update/delete процессоров и фильтровать в нём id.
public function initialize() {
        $primaryKey = (int) $this->getProperty($this->primaryKeyField,false);
	$this->setProperty($this->primaryKeyField, $primaryKey)
	return parent::initialize();
}
Очень хотелось бы услышать мнение Евгения по этому поводу.
П.С. По хорошему, MODX должен в процессоре смотреть мету ключа и фильтровать.