.
МЕСТО ПОД РЕКЛАМУ
26 Октябрь 2020

PHP регурярное выражение — проверка на кириллицу

Повадились иностранные боты заполнять форму заказа на одном из сайтов всякими нерусскими данными.
Антикапчю пока вешать не стал — решил сделать простенькую проверку введённых данных на кириллицу (имя должно быть введено кириллицей)

Собственно, рабочий код в студию

рубрики: PHP | Комментарии (0)

13 Октябрь 2020

Битрикс меню — структура файла и дополнительные параметры


То ли я читать не умею, что ли что — но в официальной документации я не увидел той информации, которую всё таки нашел в сети и решил оставить себе в блоге в виде справочного поста.
Итак, три статьи, которые мне «зашли» — первая, собственно вводная — тоже что в документации, только более понятно — структура файла меню
Вторая и третья статьи уже собственно затрагивают дополнительные параметры четвёртого параметра

Таким образом, приведу пример файла из второй статьи со структурой меню, которой в структуре может вообще не быть — то есть подпункты, можно добавить.

Я воспользовался этим приёмом для того, чтобы сделать верхний пункт меню некликабельным («Аэропорты Москвы»), а пункты подменю остались кликабельными.
Пример на сайте reklamy.ru — главное меню, раздел Реклама в аэропортах.
Так же мне нужно было, чтобы подпункты не были по структуре внутри верхнего пункта (т.к. он вообще не имеет своего адреса).

Свой файл выкладывать не буду — смысла нет, там всё по аналогии с файлом из первой статьи, который я себе сохраню
Читать полностью »

рубрики: Bitrix | Комментарии (0)

13 Октябрь 2020

Установка и настройка Сбербанк Эквайринг на 1С Битрикс

Поставили задачу — прикрутить к сайту на 1С Битрикс приём оплаты через Сбербанк Эквайринг.
Собственно, особо никаких проблем не возникло, просто по одноименному запросу в Яше ничего подобного не нашел, вот и решил накарябать пару строк 🙂

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

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

На этом всё 🙂 по крайней мере тестовый платёж у меня корректно обработался — в системе заказ получил статус «Оплачено», в личном кабинете Сбербанк Эквайринга эту транзакцию я увидел — клиентские данные и сумма были правильные.

Ну и напоследок — в техподдержке адекватные ребята! Набрал разок — всё доходчиво объяснили, доволен.

PS
Как в боевой режим перейдём — отпишу как полёт проходит.

рубрики: Bitrix | Комментарии (0)

5 Октябрь 2020

Почтовый спам — поиск и устранение уязвимости на примере Joomla

Сегодня с дата центра пришло сообщение, с жалобой на спам-абузы поступающие от spam-cop.net — соответственно, жалоба на почтовый спам с сайта одного из моих клиентов.
Сайт висит на выделенном виртуальном сервере, с выделенным IP адресом на котором хостится один единственный сайт — интернет-магазин под управлением Joomla CMS + virtuemart.
Механизм поиска уязвимости описанный ниже можно применять независимо от системы управления — главное понять, что за скрипт рассылает, а далее уже пофиксить это дело.

Первое, что я сделал — это в php.ini
добавил 2 строчки:

и перезапустил веб-сервер (не забываем вернуть назад, после разбора полётов)

Далее, через некоторое время в /var/log/php.mail.log я увидел, что рассылка ведётся из скрипта /libraries/phpmailer/phpmailer.php
Проанализировав время логов из этого файла и логов самого веб-сервера, вижу частые обращения по адресу /index.php?options=com_contact&id=1

Для того, чтобы понять откуда именно вызывается отправка сообщений в phpmailer.php я встроил в него собственное логирование

Анализ этих логов уже на 100% подтвердил, что проблема именно в компоненте com_contact, в который я встроил проверку — чтобы только авторизованные пользователи могли работать с этим компонентом (тут ключевой момент — вызов debug_backtrace() который показывает всю вложенность на уровне функций и самих скриптов

после чего спам прекратился

PS
Данное решение я применил, по аналогии с решением для компоненты com_mailto (которое тоже внедрил, на всякий случай)

которое я чуток переделал (см.выше), т.к. у меня ругался на метод JFactory::getUser()->authorise() который видимо с 3й версии в джумле …

Так же попутно, я пофиксил дыру в com_virtuemart так же позволяющую организовать спам рассылку с Вашего сайта — источник

Проверить можно по ссылке
http://ваш-сайт/index.php?page=shop.recommend&product_id=1&pop=1&tmpl=component&option=com_virtuemart&Itemid=1&vmcchk=1&Itemid=1

Фиксится добавлением редиректа на морду в начале файла /administrator/components/com_virtuemart/html/shop.recommend.php

рубрики: Joomla | Комментарии (0)

Яндекс.Метрика