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

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
Пожалуйста =) прошу не ставить клеймо «дыра» на этот компонент. Нужен конструктив. В чем конкретно есть дыры? И как можно «взломать» компонент, если это просто проводник от браузера к сниппетам? Ответственность лежит в том числе на программисте, который пишет сниппет. Я сделал бесплатно. Никто не заставляет вас пользоваться им. Видите дыры? Отлично — будем исправлять, дорабатывать. Но пока не вижу в чем «дыра»
Павел Гвоздь
01 ноября 2020, 08:48
-1
Ну и хрен с ним. При чём тут это? Мы сейчас обсуждаем одно, а ты тянешь куда-то в другую сторону.
L I T O S H
L I T O S H
01 ноября 2020, 08:47
0
я о том, что по статистике CMS, Wordpress занимает бОльшую долю
Павел Гвоздь
01 ноября 2020, 08:47
0
Я не понимаю тебя. Ты пишешь сначала
сколько угодно запросов в бэкэнд с любыми параметрами
а теперь говоришь
посмотреть какие параметры отправляются и подставить свои
Я не вижу ничего страшного в этом.
Павел Гвоздь
01 ноября 2020, 08:45
-2
Ты о чём вообще? Не надо равняться на WP при внедрении решений, это чревато вот такими дырами в безопасности. Если надо обращаться к своему сниппету – пиши кастом.
L I T O S H
L I T O S H
01 ноября 2020, 08:44
0
ну если AJAX доступен на сайте $.ajax({ });, то можно из консоли браузера отправлять свои запросы с параметрами. Любой человек может посмотреть какие параметры отправляются и подставить свои.
Павел Гвоздь
01 ноября 2020, 08:42
-1
можно доработать и как бы не против предложений
Я уже написал предложение.

если вы видите где-то уязвимость
Разве имея доступ к pdoResources сделать запрос к таблице modUser нельзя? Это так, навскидку. Я не хакер, у них голова работает гораздо интенсивнее в плане всяких SQL-инъекций.
L I T O S H
L I T O S H
01 ноября 2020, 08:41
0
Знаешь, вот сколько времени на modx, каждый раз такая мысль была — а как к сниппетам то обращаться с AJAX'a? Вроде бы modx'у уже больше 8 лет по моему, а норм решения так и не придумали. Мое дело — предложить, но возможно есть и обратная сторона, которую я сократил в меру своих возможностей. Но я считаю, что если боятся — то modx, так и останется «позади» всех. Хотя это супер платформа. Wordpress ей в подметки не годится по скорости и прочим фишкам, которые мы все любим. Вот я и хочу и тем самым улучшаю ее за бесплатно в том числе =)
Павел Гвоздь
01 ноября 2020, 08:39
-1
если на сайте доступен AJAX вызов, то любой человек, вне зависимости стоит мой компонент на сайте или нет, может точно также отправлять сколько угодно запросов в бэкэнд с любыми параметрами
Вот тут подробнее, пжл.
L I T O S H
L I T O S H
01 ноября 2020, 08:37
0
Возможно твоя идея имеет место быть. Но она слишком «тяжелая» или усложнена, как ты выражаешься для начинающих или особо не вникающих в modx =)
Но я нормально так обдумал в меру своих возможностей на этот счет. Вот смотри, если на сайте доступен AJAX вызов, то любой человек, вне зависимости стоит мой компонент на сайте или нет, может точно также отправлять сколько угодно запросов в бэкэнд с любыми параметрами (т. е. дудосить =) ). И да, тоже думал на счет переменных (параметров, пример: $limit), что это не безопасно, но на самом деле это фактически тот же $_POST, который перезаписывается тотчас же, через строку при нормальной логике сниппета. И если бы я эту возможность убрал, нельзя было бы обращаться к примеру msProducts со своими параметрами, а такая возможность имеется.
В любом случае можно доработать и как бы не против предложений, если вы видите где-то уязвимость =)
Павел Гвоздь
01 ноября 2020, 08:32
-1
По безопасности там отдельная тема – ниже написал. А касательно допуска только определённых сниппетов, не значит, что это безопасно. Ответственный программист может и позаботится о том, насколько безопасно давать доступ к тому или иному сниппету. А вот учитывая то, что я вижу на клиентских сайтах, большинство, к сожалению, не являются ответственными программистами и если потребуется, без раздумья дадут доступ к тому-же pdoResources. Представь, что можно натворить из фронта, имея доступ к pdoResources и имея возможность указывать туда любые параметры для вызова.