Всего 125 692 комментария

L I T O S H
L I T O S H
01 ноября 2020, 19:51
-3
Если ты не объяснишь в чем принципиальное отличие запроса в коннектор и просто в сниппет, то билет в дурку достается тебе.
Павел Бигель
01 ноября 2020, 17:20
+1
В MODX парадигме AJAX запросы ведут в коннектор.
Делать AJAX запрос в сниппет, имхо, это прямой билет в дурку
Артур Шевченко
01 ноября 2020, 17:00
0
Я не делал, но в таких случаях я лезу БД и смотрю в какой таблице и в каком поле хранится нужная инфа, а потом через pdoResources вывожу используя where.
Артур Шевченко
01 ноября 2020, 16:53
0
Я придумал простое решение проблемы. В магазине есть плашки предупреждающие о системных требованиях, пусть добавят плашку типа «Вызов некоторых снипеттов через этот компонент может быть использован злоумышленниками для взлома сайта».
Александр Мельник
01 ноября 2020, 16:01
+2
не пойму я. Ладно человек написал код, который потенциально может быть небезопасным (хотя раз запуск того или иного сниппета необходимо подтвердить в системной настройке, то это уже говорит о том что человек думал о безопасности.)
А вот почему это приложение тогда появилось в официальном магазине? А то все накинулись на разрабочика, а мне кажется большая часть вины лежит на том, кто добавил это в магазин если код такой опасный.
Евгений Лазарев
01 ноября 2020, 15:32
0
Подскажите. А есть ли возможность программно изменить состав заказа но не через processor? При таком решении не работает событие msOnUpdateOrder — оно просто не отлавливается поскольку обновление делается в обход.
Павел Гвоздь
01 ноября 2020, 15:28
-3
P.S. Нежные все стали, какие-то… когда тут всё начиналось, было гораздо жёстче и интереснее.
Павел Гвоздь
01 ноября 2020, 15:27
0
«Будь мягче» – это ты будешь своей девушке говорить. Тут вроде не детский сад. Если чел создал дыру, то нахера это называть иначе? Может ему ещё на психотерапевта скинуться? Говорю как есть. «Дыра в безопасности», предложил даже вариант, как это исправить. Вообще по-хорошему реализация должна быть что-то между AjaxSnippet и его подходом, таким образом не надо разрешать сниппеты в системных настройках, а можно было бы просто вызывать их через его компонент прямо на странице и указывать необходимые параметры прям при вызове. Но уже не стал ничего описывать, ибо он неадекватно отнёсся к критике, начал про какие-то аякс запросы на моём сайте рассказывать. Вот это было, кстати, особенно смешно. :)
Павел Гвоздь
01 ноября 2020, 15:20
-2
Ха, ты тоже увидел, какой автор неадекват?) Он приемлет только дружелюбную аргументацию, ибо остальное гасит потенциал, ёпта))))))
Александр Мельник
01 ноября 2020, 12:30
0
скорее всего будет работать только для первых двух вариантов (классический и статические файлы). Потому как в случае если сниппет создан как файловый элемент, то вызывать его нужно
$snippet = $modx->runSnippet('@FILE snippets/my_snippet.php', array('param' => 'value'));
Вроде бы как можно в аякс вызов передавать не просто название сниппета, а всю строку @FILE snippets/my_snippet.php' но не факт, что такой вызов пройдет проверку, которая основана на системных настройках, я прав?
Артур Шевченко
01 ноября 2020, 11:42
+1
Почитал здешний холивар и должен всех поблагодарить. Автора за компонент, критиков за критику. Объясняю. Я уже давно использую вот эту заметку в тех случаях, когда нужен вызов сниппетов ajax после определенных действий пользователей, но только после прочтения комментариев критиков я задумался о том, что таким образом действительно можно ломануть сайт, хотя сам я всегда отправлял только те параметры которые мне нужны, а не все возможные, но среди них мог быть where. Поэтому считаю, надо этот момент исправить, вариант с созданием в админке набора параметров очень неплох, пусть это сложнее, чем передать параметры через js, но безопаснее ведь. Что для аргументов автора, то они немного противоречивы, с одной стороны он говорит что компонент для неопытных пользователей, а с другой что каждый программист сам должен блюсти безопасность сайт. Вот я неопытный, в сравнении конечно, и как писал выше, до текущего момента не думал что можно взломать сайт через ajax и pdoResources, и обсуждение новых компонентов читаю очень редко, поэтому мог просто установить и пользоваться не подозревая о подвохе. А критикам долен сказать, будь мягче, что вы нападаете на парня, он старался, а вы «дыра» «в топку», спокойно бы объяснили в чём проблема и как исправить и всё. Мы же тут как бы одно дело делаем, нельзя так.
L I T O S H
L I T O S H
01 ноября 2020, 10:56
-2
Я приемлю только прежде всего дружелюбную аргументацию в целях улучшить компонент, а не хейт без аргументации в целях загасить потенциал
L I T O S H
L I T O S H
01 ноября 2020, 10:54
0
Вызов происходит через
$output = $modx->runSnippet('Welcome',array(
   'name' => 'John'
));
Если возможно вызвать ваш сниппет таким образом, то да =)
Николай Савин
01 ноября 2020, 10:49
+1
тупо без аргументации
Тебе уже два человека прямо на пальцах показали где проблема и к чему она может привести. Какая еще аргументация нужна.

Не хочешь слушать — ради бога.
Александр Мельник
01 ноября 2020, 10:49
0
Нет разницы как создан сниппет? — сниппет в базе данных, — статичный файл, — файловый элемент fenom (код отсутствует в базе), — через сторонние приложения, например gitModx (код отсутствует в базе)
L I T O S H
L I T O S H
01 ноября 2020, 10:42
0
К какому плохому? Вы вообще о чем? Вы сказали — pdoResources, я сказал — недоступен он без разрешения. Или у вас хейт ради хейта? Если вы про молодых говорите, то у них есть своя голова. Мы тут делимся компонентами. И я уже словил двоих хейтеров, тупо без аргументации. Вы либо читайте, что ли, либо что. Там написано — без разрешения в настройках нет доступа.
Николай Савин
01 ноября 2020, 10:35
0
Так не в этом дело что можно не включать. Это мы участники дискуссии понимаем.
Проблема в том, что щас молодые неопытные увидят крутой компонент и без раздумья будут все подряд туда пихать.

А сидеть без ajax'a в 2к20
Сидеть на jquery в 2020 тоже так себе. Попахивает.

Нет тут никакой альтернативы. Потому что подход в принципе неверный, ведущий только к плохому.
ВСЕГДА на каждый необходимый функционал пишется свой отдельный запрос. Либо на коннектор, либо на плагин. И там уже вся логика, скрытая от посторонних глаз.
L I T O S H
L I T O S H
01 ноября 2020, 10:26
0
Ваше дело) pdoResources можно и не включать в «доступные». Точно также можно сказать, что это pdoResources дырявый. А сидеть без ajax'a в 2к20 по мне не очень для современных CMS. И сидеть сложа руки, не предложив альтернативы за 8 лет и говорить «фе… какой-то не очень» очень легко
Николай Савин
01 ноября 2020, 10:20
0
Поставил минус — обязан объяснить.
Этот компонент действительно дыра в безопасности.
Доступ к, например, pdoResources позволяет получить любую информацию из любой таблицы, включая личные данные пользователей, заказы, промо-коды и любую другую коммерческую информацию. А также любые системные настройки, где часто хранятся логины-пароли к платежным системам, апишкам и т.п.

Ответственный программист конечно улыбнется и не будет использовать такой компонент, но найдутся десятки неопытных ребят, которым надо проще и быстрее. А потом начнется… MODX дырявый
Павел Гвоздь
01 ноября 2020, 09:17
-2
агрессия и не принятие аргументов
Лол, ахахаха)))))))))), куда я влез?) Ну давай, взломай меня.

При чём тут ajax запросы на моём сайте и дыра, которую ты откроешь, если дашь доступ к pdoResources из фронта, хер знает.

На вопрос мой ответ, умник))