Всего 125 687 комментариев

Евгений Лазарев
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 из фронта, хер знает.

На вопрос мой ответ, умник))
L I T O S H
L I T O S H
01 ноября 2020, 09:12
0
Ясно, агрессия и не принятие аргументов. Молчу
Павел Гвоздь
01 ноября 2020, 09:11
-1
Ты прикалываешь там чтоли? Я вопрос конкретный задал. При чём тут мой сайт?
L I T O S H
L I T O S H
01 ноября 2020, 09:09
0
Смотри, Павел. Чисто ради примера =) Я зашел на твой сайт и через браузер увидел какие заголовки отправляются и куда с помощью ajax'a. Соответственно, я получил всю ту же информацию, что и у меня в примере. В чем твоя безопасность?

$.ajax({
url: '/assets/components/xlike/action.php',
type:'post',
data: {
    action: 'vote',
    propkey: '33dcd0b9cd276482b2eb640de26ef3f8be82cf34',
    parent: 128
    value: 1
}
});
Павел Гвоздь
01 ноября 2020, 09:05
0
Ну например, мне надо вывести статьи через Ajax на сайте при помощи сниппета pdoResources. Как это сделать с помощью данного компонента безопасно, не прибегая к созданию дополнительных сниппетов?
L I T O S H
L I T O S H
01 ноября 2020, 08:50
0
Пожалуйста =) прошу не ставить клеймо «дыра» на этот компонент. Нужен конструктив. В чем конкретно есть дыры? И как можно «взломать» компонент, если это просто проводник от браузера к сниппетам? Ответственность лежит в том числе на программисте, который пишет сниппет. Я сделал бесплатно. Никто не заставляет вас пользоваться им. Видите дыры? Отлично — будем исправлять, дорабатывать. Но пока не вижу в чем «дыра»