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

Павел Гвоздь
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 и имея возможность указывать туда любые параметры для вызова.
Павел Гвоздь
01 ноября 2020, 08:28
0
А давать на фронт возможность указывать любые параметры для обращения к сниппету разве правильно? Может лучше и безопаснее сделать указание параметров в бекенде (хз, в системной настройке пусть или где-то ещё) и к каждому сету параметров давать свой ключ, а на фронте обращаться к сниппету указывая ключ сета параметров, который будет в бекенде подтягиваться уже и применяться к вызову сниппета?
L I T O S H
L I T O S H
01 ноября 2020, 08:21
-1
Да, правильно понял) Усложнена — потому что некоторые за безопасность боятся. Не могу же я все сниппеты открыть, хоть и вначале продумывал и такой вариант. Человек сам выбирает какие сниппеты включить. И не нужно создавать лишнюю страницу отдельную (пример: /get), чтобы словить запросы ajax и передаит в сниппеты. Они как бы скрытыми получаются от менеджеров и владельца сайта.
Павел Гвоздь
01 ноября 2020, 08:13
0
Логика инсталляции как-то усложнена по-моему. В чём принципиальное отличие от AjaxSnippet? Кроме более сложного подхода в использовании, конечно. =)

UPD:
Всё, сорри, понял. Это в принципе другой компонент, позволяющий «вызывать» сниппеты через Ajax запросы. Ок.
Rrp2010
01 ноября 2020, 00:01
0
Здравствуйте! Добавлена ли совместимость с msOptionPrice?