Вчера в 12:31
Большие сомнения у меня в этом)
resComments — многоуровневые комментарии с пагинацией для ресурсов MODX3 3
07 января 2026, 15:36
вот этот сниппет
require_once MODX_CORE_PATH . 'model/modx/modx.class.php';
$modx = new modX();
$modx->initialize('web');
$modx->getService...
Проблемы с отправкой писем статус заказа из minishop2 5
06 января 2026, 20:15
Хотел проверить еще раз, теперь все работает. Спасибо.
MiniShop3 1.0.0-alpha.4 — Большое обновление админки 24
05 января 2026, 14:53
Тоже не понял зачем эти сложности, всегда этот скрипт юзал.
Почему в новых версиях MODX не работает сброс пароля через MD5 и как восстановить доступ в manager 4
30 декабря 2025, 22:52
Почему-то прочитал это голосом комментатора из Дома 2… Только про Minishop 3!) Спасибо всем за вклад в развитие и, достаточно неплохие итоги года)
Итоги 2025 года на MODX.pro 3
27 декабря 2025, 16:41
MODX, как и любой основанный на PHP фреймворк пишет 500 ошибки в error_log. Никаких специальных настроек в нем нет. Все зависит от настроек хостинга\с...
Отладка 500 ошибки MODX 1
24 декабря 2025, 22:11
Есть поле mail_smtp_user введи туда логин, если не сработает введи email. И не забудь в emailsender корректный email прописать.
Modx 2.8.8 еще подходит отправки почты через smtp.yandex.ru? 3
24 декабря 2025, 00:23
Нет, лайки всегда были привязаны ко времени публикации, чтобы лайками старых постов рейтинг не накручивали.
MiniShop3 - новый релиз. 1.0.0-alpha.2 15
Я вот прочел и не понял, как например менеджер может задать на определенной странице свой уникальный набор блоков и что самое важно — наполнить эти поля данными.
Я просто недавно тоже «изобретал» конструктор блоков на migx, потому что на некоторых сайтах возникает задача — хотим вывести на этой странице вверху блок — наши преимущества и указать один набор преимуществ. А на другой странице внизу вывести этот же блок, на заполненный другими данными. а на третьей странице вообще отключить данный блок.
Но в любом случае спасибо, потому что вы ответили на довольно важный в понимании работы nodejs вопрос. Можно я вкратце опишу, а вы скажите прав ли я в различиях в работе програмного обеспечения на php и nodejs
— nodejs в отличии от php не умеет работать в качестве модуля веб сервера или отдельного демона в системе, которому можно передать файл с кодом и он его выполнит. Как это мы делаем в php-fpm например. передаем код на некоторый сокет на котором работает интерпретатор php
— поэтому у нас в php и нет промежуточного понятия — сервер php. Ну формально он есть через команду php -S но он если и используется то только для разработки. Но nodejs может обрабатывать код только при наличии внутреннего сервера, вот почему и возникают exspress и им подобные?
— любое приложение на ноде (устал переключать раскладку) которое хочет работать с http запросам, должно запустить свой собственный сервер, настроенный на какой то порт, а запросы от клиента ему будет пересылать nginx слушающий 80 порт? Отбросить из этой цепочки внутренний сервер мы не можем? Как делаем в php? Когда у нас nginx просто перенаправляет все запросы в единую точку входа?
Нет, не вопрос в том чтобы это запустить, я довольно хорошо разбираюсь в администрировании линукс серверов и смогу настроить и многодоменность и проксирование запросов.
Вопрос в том что это нигде не обсуждается разрабочтками ну и плюс наверное путаницей в терминологии. Вот Василий выше написал что nuxtjs разработал свой сервер, взамен express.
И у меня складывается впечатление, что именно на вот таких серверах (express, nitro) и работает все на продакшене без использования nginx, что кажется мне совершенно неверным решением.
Как работает экспрес, уроки по ноде и прочее — в сети миллиарды.
А вот то как устроен сервер, на который это размещается. Как там устроено принятие запросов, кто слушает какие порты, как организовать два домена на одном сервере и так далее — вот этого почти нет.
Ведь токен нужно передать на сервер при первом запросе.
— пользователь запускает браузер
— вводит адрес
— браузер получает ip сервера
— в браузере в локалстораже лежит access токен
Каким образом он будет передан в первом запросе, чтобы пользователь сразу был авторизован?
Как этот вопрос решаете вы?
И он как раз тоже рассказывает о том, что jwt это небезопасный инструмент, тот случай когда технология стала популярной не за заслуги, а вопреки недостаткам.
Но мои знания теоретические, я еще нигде не использовал jwt в серьезных проектах.
По крайней мере украть куку через js гораздо сложнее (есть способы сделать ее недоступной) а вот доступ к
localstorage закрыть нельзя.
Но мы ведь с вами как раз и в инете) На сайте который представляет из себя форум, на котором обсуждаются технологии веб разработки и на котором находятся много умных людей, поэтому задать вопрос здесь — мне кажется очень разумным.
Я вот например впервые в жизни слышу про OpenID Connect. И ничего подобного по запросу — межсерверная авторизация мне не попадалось, а вы раз — и подсказали.
Вы правы, я жутко люблю изобретать велосипеды, а не использовать чьи то готовые решения. Понимаю, что в 2022 году это неправильный подход, но ничего поделать не могу. Для меня программирование это прежде всего изобретательство и наслаждение от поиска решения, а когда — установи вот эту библиотеку и скопипасти со стековерфлов такой то код — то это наоборот боль. Но это мои тараканы)
я часто вижу видео по разработки чего либо на nodejs, всегда все разработчики запускают какой либо из веб серверов у себя локально, на каком то доступном порту и разрабатывают. Но я никогда не видел, как это деплоится на продакшен сервер и самое главное, как это там работает?
Поделитесь пожалуйста информацией.
— вы что, на продакшене тоже не используете nginx? Кто именно слушает 80 порт и передает запросы приложению?
— как вообще решается вопрос с размещением нескольких сайтов на одном сервере? Если у апача есть свои вирутальные хосты, у nginx есть понятие server{} и эта настройка тоже содержит hostname и позволяет создать большое количество сайтов на одном сервере, то ничего подобного у того же express я не вижу. Максимум что можно сделать, это запустить несколько «серверов express» на разных портах, но это ведь не сделает их доступными в интернет. Все равно ведь нужно иметь nginx который будет принимать запросы на 80 порту, получать домен и проксировать запрос в зависимости от домена на express. Или я ошибаюсь?
— если все таки nginx действительно не используется, а сервера на продакшине представляют собой запущенный express или nuxt nitro, который сразу слушает 80 порт, то неужели эти программы действительно способны тягаться в безопасности и стабильности с гигантами и давно зарекомендовашими себя apache или nginx? Это сервисы проверенные временем и пользователями, а что такое nuxtjs nitro? Он буквально возник недавно, в документации написано что всего 9 месяцев назад его начали разрабатывать. Что мы можем знать о безопасности этого продукта?
Изучаю эту технологию и честно говоря, на мой взгляд, это очень небезопасная система.
Плюс вижу, что совершенно каждый разработчик реализует логику работу с jwt по своему, кто то даже хранит их (access token) в базе, хотя по моему это полностью противоречит идее самого токена. Зачем тогда сигнатура в токене, если хранить в базе ассоциацию между пользователем и токеном, это по сути получается механизм сессий с хранением в базе.
Какую бы документацию не читал, везде встречаю фразу типа — даже если у вас украдут токен, то он позволит пользоваться сервисом не долго. Не говоря уже о том, что большинство разработчиков не ставят время жизни в 10 минут, а ставят 12 часов а то и больше, но даже 10 минут хватит, чтобы не спеша и попивая кофе выкачать например всю базу с клиентами. Ничего себе система авторизации и безопасности).
Но это мои и пока теоретические мнения. А есть у кого то реальный и положительный опыт использования токенов именно как инструмента аутентификации? Как применяете его вы? Где храните токены на клиенте? В localstorage? Разбирались ли глубоко
Собственно, почему я, человек далекий (надеюсь что это временно ) от nodejs и стеков типа MEAN, решил вообще изучить jwt. Изобретаю механизм межсерверной аутентификации. Нужно сделать, чтобы человек авторизовавшись в одном сервисе (домене и сервере), перейдя на другой сервис (домен и сервер) сохранил свою аутентификацию и был уже авторизован. Инструмент сессий для этого мало подходит, ну разве что с хранением сессии в общей базе данных, к которой будут иметь доступ все сервисы… В общем буду рад вашим идеям, я то найду и изобрету такой механизм, но чужой опыт — всегда бесценен.
— открываю ваш сайт находясь в Украине, скрипты гугла грузятся.
— подключаюсь к своему впн серверу, он в Финляндии. открываю ваш сайт — скрипты грузятся.
— подключаюсь к другому впн серверу, он в москве — скрипты не грузятся.
Все верно, в файле с «кешем» лежит код сниппета.
И да, наверное пора перестать мне жаловаться на отсутствие времени и изучить ваш ZoomX.
Те сайты что разрабатывал я, я стараюсь скрыть такого вида кнопки и вообще удаляю виджеты с главной страницы админки. Но есть сайты, которые пришли недавно и разработаны другими разработчиками и там я не успел «почистить».
Изначально у меня не появлялась кнопка подгрузки.
Я использую синтаксис шаблонизатора fenom всегда. Потом взял переписал на синтаксисе стандартного шаблонизатора и кнопка появилась. Но При клике на нее тоже ничего не происходило, причем никаких запросов не отображалось в консоли.
Только после того как я тупо скопировал кусок кода вызова сниппета из документации, тогда заработало.
Но все равно, использование pdoMenu имеет один существенный минус (на мой взгляд)
он требует дополнительную обертку, которой в верстке проекта может и не быть.
Мало того что сами результаты должны иметь обертку с классом rows (если не переопределять), так еще нужна и дополнительная обертка #pdopage.
Раньше это не было так критично, всегда можно было без проблем добавить в верстку лишний div и ничего не ломалось, но сейчас, когда современная верстка перешла на css-grid и flexbox оборачивание данных в дополнительный див может полностью ломать верстку страницы.
Вы используете на одной странице несколько раз вызов pdoPage и с кнопкой для подгрузки ресурсов по кнопке.
В самом начале в тексте этого поста вы пишите, что нажимаете на одну кнопку, а ресурсы подгружаются сразу во все блоки, так?
Вам предложили несколько вариантов решения
— Баха пишет вам, что нужно просто для каждого вызова pdoMenu указывать свой уникальный идентификатор и плюс прописывать все остальные параметры сниппета
с учетом этого идентификатора.
Вы проверили этот вариант?
Я написал вам вариант, как сделать подгрузку данных по нажатию кнопки, не используя pdoPage. Сразу скажу что это не готовый код, который можно скопировать, это фрагмент моего сайта, под ваши условия его нужно немного доработать. Просто вникните в сам код и он поможет решить вашу задачу.