Всего 123 768 комментариев

vit
vit
14 января 2024, 19:33
0
изменил, все тоже самое, где еще может быть проблема?
{$_modx->runSnippet('!pdoPage', [
                'element' => 'getPayments',
                'class' => 'HistoryPayment\Model\Payment',
                'tpl' => '',
'leftJoin' => '{
                "Profile" : {
                "class" : "modUserProfile",
                "on" : "HistoryPayment\Model\Payment.user = Profile.internalKey"
                }
                }'
                'select' => '{
                "HistoryPayment\Model\Payment": "*",
                "Profile": "Profile.fullname as name"
                }'
                ])}
Сергей
14 января 2024, 08:33
0
'sortbyTV' => 'HitsPage'
'sortdirTV' => 'DESC' — по умолчанию
Артур Шевченко
13 января 2024, 19:10
+1
SendIt с версии 1.1.2 защищён от подобных атак.
Максим
13 января 2024, 12:12
0
AjaxForm перестали поддерживать уже, переходи на другую обертку Formit, там более защищено все
Константин Ильин
13 января 2024, 12:00
0
Тоже столкнулся с такой проблемой, не понимал откуда спам. Стоял AjaxForm, поменял на FetchIt один фиг через день началось.
Как вариант конечно создать дубликат action.php, назвать аля fsdfjsfjsoidfjsofsdofsd.php, заменить везде обращения action.php на новый файл. в оригинальном action.php return можно какую то ошибку все время возвращать для правдоподобности.

Но если прям всерьез взялись за атаку, то и этот файл быстро найдут, посмотрят куда отправляются запросы.
Артур Шевченко
13 января 2024, 11:11
0
А как это поможет в случае, когда нужно внести изменения в вёрстку? Два шаблона делать? Или вёрстку в контент запихивать?
Сергей Карпович
13 января 2024, 09:53
0
1. нужно манагевам и админам отметить права видеть неопубликованные ресурсы.
2. в сниппетах вывода ресурсов, включить отображение неопубликованных.

Это должно сработать, но я не проверял
Дмитрий
12 января 2024, 23:07
0
Тоже бывает такая ошибка, интересно было бы знать на что ругается…
Артур Шевченко
12 января 2024, 21:22
0
Контекст для dev версии это что-то от лукавого, даже в теории не могу представить как это может работать. Единственный приемлемый вариант это хранение элементов в файлах и разворачивание отдельного dev сайта. В IDE создать два подключения: на prod и на dev. И деплоить сначала на dev, а после проверки на prod.
Андрей
12 января 2024, 13:29
0
чтобы он выводил информацию на карте и адреса пунктов выдачи товаров на других языках? Например, на казахском
У списка офисов/регионов/населённых пунктов при запросе к апи можно передать параметр lang, доработать это несложно.

Есть одно но, доступно только 3 языка:
Локализация. По умолчанию «rus» (доступны eng и zho) // zho это Китайский.
Futuris
12 января 2024, 10:51
0
Может у него «трешка» стоит. Пишет же «modx revo последний».
Артур Шевченко
11 января 2024, 21:00
0
Никак. Нет в настройках такой опции
Максим
11 января 2024, 20:53
0
Я пока победил атаки только сменой AjaxForm на другую обертку Formit. Курл работать перестал, жду пока новых атак)
Артур Шевченко
11 января 2024, 20:51
0
Это потому что сниппет вызывается. А вообще идея в том, чтобы генерировать токен, записывать его в сессию и передавать на фронт. А при отправке формы передавать обратно на сервер и а файле action.php проверять равен ли переданный токен записанному в сессию и вообще есть ли этот токен. Генерировать можно в плагине на событие OnHandleRequest. Передавать на фронт через $_COOKIE. Вставлять форму JS.
Максим
11 января 2024, 19:55
0
Не помогло)
Артур Шевченко
11 января 2024, 19:34
0
Можно попробовать эту строку заменить на такую
$hash = $_SESSION['afhash'] = md5(http_build_query($scriptProperties));
А на этой строке добавить проверку
if(!$_SESSION['afhash'] || !$_REQUEST['af_action'] || $_REQUEST['af_action'] !== $_SESSION['afhash']){
 echo $AjaxForm->error('af_err_action_ns');
}
И не забудь рассказать помогло или нет, интересно же)))
Максим
11 января 2024, 19:23
0
А без смены нет решений? Это сам по себе AjaxForm дырявый?
Артур Шевченко
11 января 2024, 19:14
0
Поменяй AjaxForm на SendIt