Всего 123 771 комментарий

Арман
27 марта 2024, 20:02
0
Ну в общем я поторопился с выводами. Это помогла от спама который напрямую отсылал через action. Но не помог от этих сообщения который до этого были.
config_prefer_imagemagick: 0
src: http
f: php
action: web/phpthumb
useRawIMoutput: 1
IMresizedData:
phoneform:
Похоже он отправляет не напрямую и создается сессия поэтому этот код в данном случаи не помог. При этом игнорирует hook spam а также required на поле phoneform. Похоже на некорректную работу плагина на сайте я хз…

Логи совпадающие со временем отправки
109.248.15.180 - - [27/Mar/2024:10:07:17 +0300] "POST /assets/components/fetchit/action.php HTTP/1.0" 200 320 "https://site.ru/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:124.0) Gecko/20100101 Firefox/124.0"
2a12:5940:12c5::2 - - [27/Mar/2024:10:07:23 +0300] "GET / HTTP/1.1" 301 173 "-" "Mozilla/5.0 (X11; Linux i686; rv:51.0) Gecko/20100101 Firefox/51.0"
2a12:5940:12c5::2 - - [27/Mar/2024:10:07:23 +0300] "GET / HTTP/1.0" 200 19134 "-" "Mozilla/5.0 (X11; Linux i686; rv:51.0) Gecko/20100101 Firefox/51.0"
2a12:5940:12c5::2 - - [27/Mar/2024:10:07:33 +0300] "POST /connectors/system/phpthumb.php HTTP/1.0" 200 158 "https://site.ru:443/" "Mozilla/5.0 (X11; Linux i686; rv:51.0) Gecko/20100101 Firefox/51.0"
2a12:5940:12c5::2 - - [27/Mar/2024:10:07:33 +0300] "POST /assets/components/gallery/connector.php HTTP/1.0" 404 19134 "https://site.ru:443/connectors/system/phpthumb.php" "Mozilla/5.0 (X11; Linux i686; rv:51.0) Gecko/20100101 Firefox/51.0"
2a12:5940:12c5::2 - - [27/Mar/2024:10:07:34 +0300] "GET /assets/components/gallery/cache/http.836565742893abde7371fbf19ddc8253.php HTTP/1.0" 404 19134 "https://site.ru:443/assets/components/gallery/connector.php" "Mozilla/5.0 (X11; Linux i686; rv:51.0) Gecko/20100101 Firefox/51.0"
2a12:5940:12c5::2 - - [27/Mar/2024:10:07:41 +0300] "GET /assets/images/accesson.php HTTP/1.0" 404 19134 "https://site.ru:443/assets/components/gallery/cache/http.836565742893abde7371fbf19ddc8253.php" "Mozilla/5.0 (X11; Linux i686; rv:51.0) Gecko/20100101 Firefox/51.0"

Это то что внутри &form=`callbackform`
<form action="[[~[[*id]]]]" method="post" class="p-4 p-md-5 border rounded-3 bg-primary bg-gradient">
          <input type="hidden" name="nospam" value="">
          <div class="form-floating mb-3">
            <input name="phoneform" type="tel" class="form-control" id="phoneform" placeholder="+7 (XXX) XXX-XX-XX" pattern="(\+7|8)\s?[\(]?(\d{3})[\)]?\s?[\-]?(\d{3})[\-]?(\d{2})[\-]?(\d{2})" required>
            <label for="phoneform">Телефон</label>
            <div class="invalid-feedback" data-error="phoneform">[[+fi.error.phoneform]]</div>
          </div>
          <button class="w-100 btn btn-lg btn-light bg-gradient" type="submit">Жду звонка</button>
          <hr class="text-white my-4">
          <small class="text-white text-center">Свяжемся с вами в течении 1 минуты</small>
</form>

Вызов
[[!FetchIt?
  &form=`callbackform`
  &preHooks=`chkbot`
  &hooks=`spam, email`
  &emailSubject=`Обратный звонок`
  &emailTo=`marketing@site.ru`
  &validate=`nospam:blank, phoneform: required`
  &validationErrorMessage=`В форме содержатся ошибки!`
  &successMessage=`Сообщение успешно отправлено!`
]]
Володя
27 марта 2024, 17:59
0
На гитхаб есть собранный пакет. Ты можешь попробовать его установить и рассказать какая конфигурация на хостинге и что получилось. Так я соберу немного статистики. Мне интересно будут ли какие проблемы.
Спасибо!
Володя
27 марта 2024, 17:55
+2
Ну мы же запускаем установку не из под консоли. Будет та же версия php что и на сайте.
Наумов Алексей
27 марта 2024, 17:51
0
например, не так давно я работал с каким-то сайтом на хостинге, и хоть сайт был под php 7.4, но если я просто в консоли (из под ssh, или через веб-интерфейс хостинга) вызывал этот самый php, то запускался php 5.3.
Володя
27 марта 2024, 17:47
0
Я к тому, что пакет это делает… но не будет ли на некоторых хостингах это запрещено?
Все в классе враппера, там код на 100 строк, можно посмотреть.
Володя
27 марта 2024, 17:45
0
Да, не должно… но возможны нюансы. Из того что мне кажется может вызвать проблему это запуск бинарника с помощью php. Вот тут github.com/vgrish/mmx-forms-installer/blob/master/core/components/mmxforms/PackageComposerWrapper.php#L24

И тут github.com/vgrish/mmx-forms-installer/blob/master/core/components/mmxforms/PackageComposerWrapper.php#L114

Напрямую из phar это не получилось у меня по другому запустить.

Ну и конечно кроме как модхост я нигде это не тестировал.
Наумов Алексей
27 марта 2024, 17:33
+1
Есть ли какие-то ограничения со стороны хостинга для запуска composer из php?
Я к тому, что пакет это делает… но не будет ли на некоторых хостингах это запрещено?
Володя
27 марта 2024, 16:14
0
Да мы вроде и не спорили, так поболтали немного.
Василий Наумкин
27 марта 2024, 13:23
0
И по факту будет сайт с двумя видами дополнений.
Именно так, да — переходный период.

Со временем новых mmx* дополнений должно быть больше, а старые делать и обновлять просто перестанут. Понятно, что это годы, но тем не менее.

Заодно это неплохой предлог перевести текущие актуальные компоненты на новые рельсы, выкинув всякое старьё. Мы же чисто теоретически.

Но другого в ближайшее время в MODX не будет.
С таким подходом — тем более.

В любом случае, спорить я не буду и работа с транспортными пакетами останется головной болью того, кто ими будет заниматься.
Володя
27 марта 2024, 12:56
0
То есть ты еще и какой-то репозиторий доработаешь, и в админку MODX новые функции для работы с пакетами протолкнёшь?
нет, конечно. Мы же рассуждаем в данный момент чисто теоретически.

Прям не терпится почитать, что тебе в MODX LLC ответят на pull-request.
Да на… пошлют. Я прекрасно это осознаю.

Ты возможно не понял, мне всецело нравится идея с композером, я просто хочу найти альтернативу работы с твоей идеей дополнения в тяжелых реалиях настоящего.

Получается на данный момент будет 2 вида дополнений:
— транспортный пакет (ТП)
— композер пакет (КП)

Обычная ситуация, сделали сайт, туда поставят кучу дополнений ТП и конечно что-то из КП. Придется отслеживать ТП в разделе пакетов MODX и КП в консоли.

Как по мне это уже неудобно, нет единого центра управления. Ты же понимаешь что даже если ты сейчас прикрутишь терминал в админку MODX LLC тебе ответят аналогично.

И по факту будет сайт с двумя видами дополнений. Поэтому я и предлагаю вариант с ТП.
Да это как ты считаешь костыль, это не модно, это устарело, это надо же транспортный собирать. Но другого в ближайшее время в MODX не будет.
Василий Наумкин
27 марта 2024, 12:30
0
ну явно что не rest.modx.com.
То есть ты еще и какой-то репозиторий доработаешь, и в админку MODX новые функции для работы с пакетами протолкнёшь?

Прям не терпится почитать, что тебе в MODX LLC ответят на pull-request.

в случае с закрытым репозиторием как подписывать и узнавать об обновлении?
А как из него код качать? Если есть доступ — будут и уведомления. Тем более, если за доступ еще и платить надо будет.
Володя
27 марта 2024, 12:16
0
Вот к примеру, подписался на новые релиз в твоем репозитории, пришло оповещение, я зашел на сайт и просто переустановил пакет.
/home/s33859/www/composer.json has been updated
Running composer update mmx/database mmx/forms
Loading composer repositories with package information
Updating dependencies
Lock file operations: 0 installs, 2 updates, 0 removals
- Upgrading mmx/database (1.0.0 => 1.0.1)
- Upgrading mmx/forms (dev-main 9a6f320 => 1.0.1)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 0 installs, 2 updates, 0 removals
As there is no 'unzip' nor '7z' command installed zip files are being unpacked using the PHP zip extension.
This may cause invalid reports of corrupted archives. Besides, any UNIX permissions (e.g. executable) defined in the archives will be lost.
Installing 'unzip' or '7z' (21.01+) may remediate them.
- Downloading mmx/database (1.0.1)
- Downloading mmx/forms (1.0.1)
0/2 [>---------------------------] 0%
1/2 [==============>-------------] 50%
2/2 [============================] 100%
- Upgrading mmx/database (1.0.0 => 1.0.1): Extracting archive
- Upgrading mmx/forms (dev-main 9a6f320 => 1.0.1): Extracting archive
0/2 [>---------------------------] 0%
2/2 [============================] 100%
Generating autoload files
61 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
No security vulnerability advisories found.
Using version ^1.0 for mmx/database
Using version ^1.0 for mmx/forms

Cleared MODX cache

Added event "OnSiteRefresh" to plugin "mmxForms"
Run Phinx migrations
Phinx by CakePHP - https://phinx.org.

using config file core/vendor/mmx/forms/core/phinx.php
using config parser php
using migration paths
- /home/s33859/www/core/vendor/mmx/forms/core/db
using environment local
using database s33859
ordering by creation time

== 20240325145843 FormSnippet: migrating
== 20240325145843 FormSnippet: migrated 0.2726s

== 20240326132457 Files: migrating
== 20240326132457 Files: migrated 0.6260s

All Done. Took 0.9163s

Cleared MODX cache
Готово, у меня новая версия дополнения. Теперь и на русском языке, отлично.

ps. там сортировка не работает, выдает ошибку joxi.ru/zANQW4qiv4KyQ2
Володя
27 марта 2024, 12:04
+1
Я эти дополнения сделал с противоположной целью, если что — заставить юзеров MODX пользоваться композером.
Пользователи MODX — они же все разные, нельзя всех под одну гребенку. Одно дело если речь про разработчиков то да, тут я с тобой солидарен, composer удобно и тд и тп.

Но большая часть это обычные люди, вообще не разрабы и они тоже хотят что-то сделать на MODX, им нужен понятный интерфейс с кнопочками и окошечками.
Володя
27 марта 2024, 11:56
0
Это как? Какой репозиторий будет проверять версию пакета в packagist.org и показывать в админке кнопку «обновить»?
ну явно что не rest.modx.com.

И что будет происходить при нажатии на эту кнопку?
обновление пакета с composer

Нет, я про консоль в админке, где надо будет пальчиками вбивать команды composer и читать ответы. Что-то типа такого интегрировать.
не, не зайдет. Тот кто не пользуется консолью и такой пользоваться не будет. Нужен нормальный всем понятный интерфейс.

Я предлагаю подписываться на релизы в репозитории:
в случае с закрытым репозиторием как подписывать и узнавать об обновлении?
Василий Наумкин
27 марта 2024, 11:33
+1
И автоматом загружать в репозитории.

И всё для того, чтобы пользователи не начинали развиваться.

Я эти дополнения сделал с противоположной целью, если что — заставить юзеров MODX пользоваться композером.
Василий Наумкин
27 марта 2024, 11:32
0
из наиболее логичного это инфу должен давать репозиторий на запрос CheckUpdates
Это как? Какой репозиторий будет проверять версию пакета в packagist.org и показывать в админке кнопку «обновить»? И что будет происходить при нажатии на эту кнопку?

Еще раз говорю, что если ты хочешь завязать работу на транспортные пакеты, тебе придётся обновлять их версию в репозиториях MODX.

ну так сейчас ты не про интерфейс управления?
Нет, я про консоль в админке, где надо будет пальчиками вбивать команды composer и читать ответы. Что-то типа такого интегрировать.

И вопрос — а как юзер узнает об обновлении если поставил пакет напрямую через композер?
Я предлагаю подписываться на релизы в репозитории:

Там можно следить за любыми разработками, не только для MODX — очень удобно.
Володя
27 марта 2024, 11:27
+1
Если уж на то пошло то можно генерировать транспортный автоматом, при появлении новой версии в packagist, там от транспортника то ничего не осталось. Если все лишнее выкинуть то останется в районе 6 файлов.
Володя
27 марта 2024, 11:16
0
1. Ты не ответил — как юзер узнает о релизе новой версии, если ты не загрузишь новый транспортник в репозиторий MODX?
из наиболее логичного это инфу должен давать репозиторий на запрос CheckUpdates

Не соглашусь,
У Composer уже есть отличный CLI. Лучше уж сделать пакет с окошком терминала для работы с этим CLI из админки, если так страшно заходить в консоль сервера.
ну так сейчас ты не про интерфейс управления?

И вопрос — а как юзер узнает об обновлении если поставил пакет напрямую через композер?