Александр Мельник

Александр Мельник

С нами с 02 сентября 2016; Место в рейтинге пользователей: #64
Александр Мельник
16 ноября 2020, 19:14
0
ну зачем я это прочел… снова голова разболелась!
Кирилл, ну почему вы так пишите? Составив грамотный и красивый вопрос, вы заранее демонстрируете, что вы уважаете тех, кто его прочтет.

зачем скрыть чтобы нерастить рынок конкурентов сделали наполнили например работет ктонибудь ходить прелагать
Александр Мельник
15 ноября 2020, 10:41
0
Что значит — выборка самых актуальных? Что является показателем актуальности?
У вас создается выборка пяти ресурсов, отсортированных по дате. Изменяя страницу в админке, вы изменяете и дату в publishedon и, видимо, это и приводит к тому, что теперь ресурс в выборку уже не попадает.
Александр Мельник
12 ноября 2020, 19:28
0
Мысль первая, философская — пробуйте переходить на fenom, намного проще там решаются как раз подобные задачи.
Мысль вторая, возможно дельная. Попробуйте вызывать сниппет getImageList некешированным. тоесть !getImageList
Александр Мельник
11 ноября 2020, 20:01
0
понимаю, что не в тему, да и не очень красиво это с моей стороны, но…
читал вашу заметку и у меня чуть мозг не вышел из строя. Ваш родной язык не русский? Такое чувство, что оригинал был на арабском, а потом при помощи переводчика magic goody, популярного в 1998 году, сделали перевод. Это же набор мало связанных фраз, лишенных местами смысла, а местами знаков препинания. Очень тяжело читать.
В качестве решения вашей проблемы может выступить компонент импорта-экспорта товаров. modstore.pro/packages/import-and-export/msimportexport
Александр Мельник
10 ноября 2020, 08:33
0
Возможно еще такое, что у вас виртуальный хостинг и очень скромный тариф на нем. Не раз сталкивался, что хостер умалчивает об ограничениях на таких тарифах, а ограничений очень много — минимально возможное время работы с процессором, минимально возможная нагрузка на сервер базы данных и так далее. Ограничения настолько малы, что практически любой сайт «сильно грузит». Может стоит использовать либо тариф подороже либо виртуальный выделенный сервер.
Александр Мельник
02 ноября 2020, 11:21
+1
А ты мне неприятен, так что я тебя просто отключу — так это работает?
судя потому что автор удален, то видимо да — так и работает.
Не совсем согласен с таким решением, автор старался сдержано реагировать на довольно неприятные выпады и оскорбления.
Александр Мельник
02 ноября 2020, 11:15
+1
Если работает, то значит все нормально.
Просто необычно выглядит для человека привыкшего работать с linux.
Ну и сбил с толку немного странный bash на сервере у вас. Вы выполняете команду cd и переходите в директорию а командная строка этого никак не отображает, что вы уже внутри директории.
Добавлю скрин чтобы было понятно о чем я, но главное что все работает у вас, остальное дело вкуса и привычек.
Александр Мельник
02 ноября 2020, 10:46
0
а у вас что windows server? Гляжу на скрин и не пойму — у вас запущен ssh клиент, внутри которого запущен windows power shell а потом — bash… Это вы так к удаленному серверу своего хостинга подключаетесь? Очень странная штука)
попробуйте установить через composer что-то другое и сразу станет ясно — причина в вас или же все таки что-то не так с репозиторием modx3.
Александр Мельник
01 ноября 2020, 16:01
+2
не пойму я. Ладно человек написал код, который потенциально может быть небезопасным (хотя раз запуск того или иного сниппета необходимо подтвердить в системной настройке, то это уже говорит о том что человек думал о безопасности.)
А вот почему это приложение тогда появилось в официальном магазине? А то все накинулись на разрабочика, а мне кажется большая часть вины лежит на том, кто добавил это в магазин если код такой опасный.
Александр Мельник
01 ноября 2020, 12:30
0
скорее всего будет работать только для первых двух вариантов (классический и статические файлы). Потому как в случае если сниппет создан как файловый элемент, то вызывать его нужно
$snippet = $modx->runSnippet('@FILE snippets/my_snippet.php', array('param' => 'value'));
Вроде бы как можно в аякс вызов передавать не просто название сниппета, а всю строку @FILE snippets/my_snippet.php' но не факт, что такой вызов пройдет проверку, которая основана на системных настройках, я прав?
Александр Мельник
01 ноября 2020, 10:49
0
Нет разницы как создан сниппет? — сниппет в базе данных, — статичный файл, — файловый элемент fenom (код отсутствует в базе), — через сторонние приложения, например gitModx (код отсутствует в базе)
Александр Мельник
27 октября 2020, 20:46
0
а каким образом вы выводите опции, отрисовывая товар в списке товаров? Вызываете в чанке сниппет msProductOptions?
Тогда как вариант, сохраните вызов данного сниппета в fenom переменную.
Ниже проверьте условие, если она пуста (опций нет) то выводите кнопку, если не пуста — то отображаете содержимое этой переменной.
Александр Мельник
27 октября 2020, 20:35
0
я опечатался, а сайт не дает править комментарий если прошло какое-то время.
Но думаю у вас получится, я делал валидацию для файла ранее и именно как хук, а не как валидатор.
По идее если вы хотите работать с валидатором то тоже можно, но вам нужно получать в сниппете upload как простую строку, в которой регулярным выражением находить расширение файла.
Александр Мельник
25 октября 2020, 12:07
0
Возможно тут нужно понять, в какой момент происходит валидация данных.
Может быть formit проводит все операции с валидацией до отправки формы, по крайней мере так должно быть логично. А если форма не отправлена, то наверное в массиве $_FILES ничего не будет?
Попробую тот же скрипт (ну немного его переделав) вызвать не как валидатор, а как хук, указав его перед email
Александр Мельник
24 октября 2020, 20:12
0
ну вроде как нужно согласиться с вами, ты разработчик, а значит только ты в ответе. Устанавливаешь сторонне ПО будь добр проверь его сам.
Знаете я неделю-две как увлекся теорией docker. Изучаю как устрены образы и соответственно какой образ лежит у самых истоков. Пользователи либо используют готовые образы или строят свои на основе готовых. Так вот выяснилось что в основе 99 процентов всех образов лежит — alpine linux — легковестный дистрибутив основанный на еще более легковесной версии busybox. Так вот оказывается что в alpine linux есть огромная дыра в безопасности и 99% всех образов в докер хабе — небезопасны. Замечу — официальных образов! И тогда возникает вопрос — поскольку сейчас вся разработка ориентируется на упрощение и подход установки пакетов (в php это composer, в nodejs это npm, в python это pip, в докере это docker hub) то как разработчик может своими силами гарантировать неуязвимость всего этого? Ведь это сотни тысяч чужих файлов. Разве дополнения в modx не тоже самое? как физически можно оценить безопасен код или нет…
Александр Мельник
24 октября 2020, 19:56
0
да, вы правы Евгений. Беда в том, что все наши «хотелки» так или иначе разрушат экосистему магазина.
Может быть хорошим вариантом был бы «ребрендинг»)) если я правильно использую слово.
Совершенно новый магазин, без поддержки и оглядки на minishop. Новые дополнения к нему…
Александр Мельник
24 октября 2020, 19:09
0
соглашусь, насчет «старая цена». И правда не совсем логичное поле. Наверное более разумен подход как в битриксе — есть базовая цена. И дальше ты можешь ее модифицировать — сделать скидку в процентах от нее, сделать скидку на фиксированную сумму и так далее.
Александр Мельник
24 октября 2020, 18:44
0
откуда мне знать, мало того что я не спец, так еще и не видел ваш код.
Просто когда-то я имел опыт работы с джумлой и вордпресс и обе эти CMSки сами по себе были достаточно защищены. Но изза обилия сторонних плагинов, их безопасность стремилась к нулю.
Но опять же, я лишь высказал свое опасение, на мой взгляд сам факт авторизации без знания пароля уже звучит небезопасно, это как снятие денег с карточки без пинкода. Но я не специалист, раз модераторы выставили компонент в магазине, значит они его проверили.
Александр Мельник
24 октября 2020, 18:37
0
я видимо не понимаю о чем вы говорите, простите.
Когда я провожу на сайте авторизацию пользователя, то я объект c пользователем помещаю в $modx->user а также авторизую его в определеленном контексте $modx->user->addSessionContext('web');
мне кажется что факт новой сессии здесь не важен, важно то что, можно авторизоваться без пароля.
Но раз модераторы магазина проверили и сочли безопасным, то молчу)