Василий Наумкин

Василий Наумкин

С нами с 08 декабря 2012; Место в рейтинге пользователей: #1
Василий Наумкин
10 ноября 2016, 10:10
0
Выложил новую версию, проверяй.
Василий Наумкин
09 ноября 2016, 14:38
+2
Ага, вижу проблему. Отключи пока у плагина событие перед сохранением кэша — чуть позже выпущу обновление.
Василий Наумкин
08 ноября 2016, 16:44
0
Тут речь про фильтрацию тегов на фронтенде.
Василий Наумкин
08 ноября 2016, 14:20
+1
Понял, спасибо.

Значит буду проверять свои дополнения самостоятельно.
Василий Наумкин
08 ноября 2016, 14:10
+3
Жень, скажи честно — вот на modx.pro сейчас есть теоретическая возможность взлома через подобные лазейки?

Если есть, напиши мне, пожалуйста, стоимость работ по полному анализу и исправлению на мыло.

P.S. Дебилизм — не дебилизм, но вроде через Tickets пока не было массовых взломов.
Василий Наумкин
08 ноября 2016, 14:02
0
Там CSRF из коробки работает для ajax запросов, но принцип тот же: токен привязывается к сессии и не меняется на протяжении всей её жизни.
Василий Наумкин
08 ноября 2016, 10:29
+3
Не боись.

При первых же признаках взлома я побегу к Евгению Борисову и он тут всё обезопасит. Возможно, даже со скидкой, по старой дружбе =)
Василий Наумкин
08 ноября 2016, 10:26
+2
Я думал, это очевидно, что комментарий от зачёркнутого никнейма изменить мог только «злой Василий».

Или вы реально поверили в бред про подбор многосимвольного префикса в разных регистрах вслепую?
Василий Наумкин
08 ноября 2016, 10:20
+1
Это я пошутил.

Подбил на взлёте яркую звезду, которая ушла в рейтинг -10 за 5 комментов.
Василий Наумкин
08 ноября 2016, 10:19
+4
Да это я отредактировал, смеха ради.

Неужели ты думаешь, что забаненый человек с возможностью что-то редактировать обошёлся бы без матов и сам себя не разблокировал?
Василий Наумкин
07 ноября 2016, 22:17
0
Ну, а у меня идей больше нет.
Василий Наумкин
07 ноября 2016, 17:05
+1
В JSON кавычки двойные, а не одинарные.
Василий Наумкин
07 ноября 2016, 11:21
1
+3
Никакой разницы. Все нормальные дополнения используют
MODX_CORE_PATH
MODX_ASSETS_URL
MODX_ASSETS_PATH
MODX_MANAGER_URL и т.д.

Хочется составлять и обновлять список — на здоровье. Каждый тратит своё время как хочет.
Василий Наумкин
07 ноября 2016, 11:09
2
+2
Все нормальные дополнения будут работать без проблем с любым префиксом и папками, ибо они получается из системных настроек и констант.

Проблемы могут быть только с собственными сниппетами, которые хардкодят префикс вот так
$res = $modx->query("SELECT * FROM modx_users WHERE...");
вместо
$res = $modx->query("SELECT * FROM {$modx->config['table_prefix']}_users WHERE...");
или даже
$res = $modx->query("SELECT * FROM {$modx->getTableName('modUser')} WHERE...");
это если есть xPDO модель для этой таблицы
Василий Наумкин
07 ноября 2016, 09:27
2
+1
$modx->event->returnedValues
и будет пустым, пока туда кто-то что-то не запишет.

Держи рабочий пример из платного msDiscount
case 'msOnGetProductPrice':
		if ($modx->context->key == 'mgr') {return;}
		/**
		 * Counts discount of current product for current user, based on rules in msDiscount component
		 * New price must be set in $modx->event->returnedValues['price']
		 *
		 * @var msProductData $product Object with product properties
		 * @var array $data Array with product properties. Can be empty!
		 * @var float $price Current price of product
		 */
		if (!isset($modx->event->returnedValues['price'])) {
			$modx->event->returnedValues['price'] = $price;
		}
		// Get link to product price
		$price = & $modx->event->returnedValues['price'];
		$new_price = $msDiscount->getNewPrice($product->id, $price);
		if ($new_price !== false) {
			$price = $new_price;
		}
		break;
Обрати внимание, что в событии доступны 3 параметра: $product, $data и собственно $price
Василий Наумкин
07 ноября 2016, 09:09
+3
Кошмар какой!


Предлагаю написать про это отдельный топик, наверняка многие не в курсе. И да, на modhost.pro по умолчанию для всех сайтов прописано правило
location ~* ^/core/ {
    deny                all;
}
Василий Наумкин
06 ноября 2016, 18:25
+1
Может поэтому в Eloquent есть отдельно Raw expressions?

Вообще, грусть-тоска. Я наивно полагал, что работа через xPDO меня как-то защищает. Очевидно, это всё в прошлом и нужно пересматривать все свои дополнения.

Спасибо за PR в pdoTools!
Василий Наумкин
06 ноября 2016, 18:18
0
Хороший вопрос.

Надеюсь, что результат выполнения запроса увидеть никак нельзя, но я уже ни в чём не уверен.
Василий Наумкин
06 ноября 2016, 16:12
+1
Ясно.

Не нужно указывать имя пользователя как число, а потом использовать его в качестве username вместо id в адресе своей страницы. У меня конечно много разных проверок, но до такого я не додумался.

Исправлено.