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

Алексей Соин
02 ноября 2020, 17:09
0
Ну если /data/.config это директория хостинга, то да, наверное они что-то неправильно настроили. Проще всего чтобы всё затестить как это должно работать это например на хостинге modhost.pro тестовый сайт создать бесплатный и там уже тестить, там никаких проблем нет.
Futuris
02 ноября 2020, 17:05
0
Т.е. в данном случае — это некорректная работа composer на моем сервере?
Денис
02 ноября 2020, 15:13
0
Инструмент чисто для отслеживания ((
перестал фурычить поиск по содержанию в USER AGENT
к примеру
если заблочить — Mozilla/5.0 (compatible; SEOkicks; +https://www.seokicks.de/robot.html) — то блочит
а если — SEOkicks нет

и стоп листы не обновлялись уже давно
Mozilla/5.0 (compatible; SemrushBot/3~bl; +http://www.semrush.com/bot.html)
уже давно SemrushBot/6
Евгений Шеронов
02 ноября 2020, 15:05
0
Здравствуйте, Вы вроде уже писали мне?

Здесь только через prepareSnippet сможете сделать замену нужных Вам тегов.

Также, если есть какие-то теги или стили у html-тегов, то их нужно подчистить.
Для этого должен быть установлен Jevix.

Вот пример сниппета prepareMarketDescription, который сделает то, что нужно.
Добавьте его и укажите название в настройку ms2ym_prepare_snippet.

<?php
if(!empty($fields['description'])) {
    //масссив для замен 
    $replaces = [
        '[[*pagetitle]]' => $product['pagetitle'],
        '[[+article]]'   => $product['article']
    ];
    
    // все доступные поля можно посмотреть в логе расскоментировав две строки ниже:
    // $modx->log(1,'Поля в XML: '.print_r($fields,1));
    // $modx->log(1,'Поля товара: '.print_r($product,1));
    
    $fields['description'] = $modx->runSnippet('Jevix',[
        'input'=> str_replace(array_keys($replaces), array_values($replaces), $fields['description']),
        'cfgAllowTags'=>'h3,ul,ol,li,p,br',
        'cfgSetAutoLinkMode'=>0,
        'cfgAllowTagParams'=>'{}',
        'cfgSetTagNoAutoBr' => 'ul,ol',
        'cfgSetTagChilds' => '[["ul",["li"],false,true],["ol",["li"],false,true]]',
        'cfgSetTagParamDefault' => '[]',
        'cfgSetTagParamsRequired' => '{}',
        'cfgSetTagNoTypography' => '',
        'cfgSetTagPreformatted' => '',
        'cfgSetTagShort' => 'br'
    ]);
}

return $fields;
Алексей Соин
02 ноября 2020, 14:52
0
требуется ли для установки MODX3 через composer наличие аккаунта на github и наличие какого-либо токена?
Нет
Алексей Соин
02 ноября 2020, 14:50
0
auth.json используется для доступа к приватным composer репозиториям, для чего он тут?
Futuris
02 ноября 2020, 13:31
0
Теперь обновили PHP на сервере и инсталляция запускается. Но все затем упирается в требование какого-то токена следующую ошибку —
Cloning failed using an ssh key for authentication, enter your GitHub credentials to access private repos
Head to https://github.com/settings/tokens/new?scopes=repo&description=Composer+on+dva.ru+2020-11-02+1320
to retrieve a token. It will be stored in "/var/www/...../data/.config/composer/auth.json" for future use by Composer
Сформулирую теперь вопрос иначе — требуется ли для установки MODX3 через composer наличие аккаунта на github и наличие какого-либо токена? Заранее спасибо всем, в т.ч. кто ранее откликнулся!
Алексей Соин
02 ноября 2020, 12:44
+5
а запустив вот так
$.ajax({
        url: fastsnippet,
        type: "post",
        data: {
            snippet: 'pdoresources',
            params: {
                tpl: '@INLINE {$_modx->runSnippet("!pdoUsers", [ "tpl" => "" ])}'
            }
        }
    })
и посмотрев в ответ который прийдет с сервера можно увидеть всех пользователей, д и запустить любой сниппет похожим образом
Алексей Соин
02 ноября 2020, 12:38
+2
{$id} не работает потомучто сниппет не запускается именно на страницу, а происходит просто runSnippet. И смотреть надо не в консоли, а в ответе во вкладке «сеть», тогда выведется ответ
Ivan
02 ноября 2020, 12:33
0
Оно так не работает. Этот параметр выводится только потому-что на странице доступен и при рендере заменяется. Если вы сделаете tpl: '@INLINE {$id}', то фиг че получите)))
И просто в инспекторе кода подставить tpl: '@INLINE {$_modx->config.site_name} [[++site_name]]' и выполнить ajax запрос, то тоже не сработает. Если я что-то не заметил — поправьте пожалуйста.

{{+id}}, [[+id]] тоже не работает)



Но все это не имеет значения, т.к. в любом случае уязвимость есть
Алексей Соин
02 ноября 2020, 12:24
0
$.ajax({
        url: fastsnippet,
        type: "post",
        data: {
            snippet: 'pdoresources',
            params: {
                tpl: '@INLINE {$_modx->config.site_name}'
            }
        }
    })
Ivan
02 ноября 2020, 12:08
0
Я пробовал передать инлайн чанк и не сработало. Может я что-то не так делал.
Ivan
02 ноября 2020, 12:06
0
А какой прикол использовать ваш компонент без возможности передать параметры? Это вы предлагаете создавать сниппет и в нем вызывать другой?
Павел Гвоздь
02 ноября 2020, 12:05
0
Да table_prefix можно и так узнать через его подход:
{'!pdoResources' | snippet : [
    'parents' => 0,
    'resources' => 1,
    'tpl' => '@INLINE {$_modx->config.table_prefix}',
]}
Но узнать table_prefix – это самое незначительное, что можно натворить с такой дырой. Тут вот хорошо описали, что примерно можно натворить. Без аргументов правда.
Павел Гвоздь
02 ноября 2020, 11:56
0
автор старался сдержано реагировать на довольно неприятные выпады и оскорбления.
Мученник, блин… Автор тупил жёстко, когда ему про дыру говорили, которую он открывает своим компонентом и даже решение предлагали. Он просил каких-то аргументов и начал нести какую-то чушь про ajax запросы на моём сайте. Я пытался вести конструктивный диалог, задавал конкретные вопросы, он куда-то в сторону увиливал и не отвечал на них.

Какие ещё выпады и оскорбления, не пойму? Если чел тупит, то я ему так и написал. Если он реагирует неадекватно на критику, вместо принятия оной – защищается, то я тоже так и написал.
Ivan
02 ноября 2020, 11:51
0
Если я правильно понимаю, то у modx желательно никому не показывать свой table_prefix (ну по крайней мере раньше это было капец как опасно).

С помощью вашего сниппета можно просто вызвать pdoResources с параметром showLog и мы увидим запрос в базу данных, в котором увидим table_prefix. Так же можно сделать любой leftjoin и т.д.
Aleksandr Huz
02 ноября 2020, 11:45
+1
Пацан к успеху шел, не получилось, не фартануло!
Павел Гвоздь
02 ноября 2020, 11:44
-1
Расскажи-ка, о каких таких выпадах и оскорблениях речь?
Алексей Соин
02 ноября 2020, 11:24
+1
Вы выполняете команду cd и переходите в директорию а командная строка этого никак не отображает, что вы уже внутри директории.
оооо, это прикалюха многих хостингов, я даже для себя пометку написал, как это исправить))) Дико бесило на одном из проектов)

Дело не в ssh клиенте, а в настройках приглашения командной строки